You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Nexla SDK V2 (#5)
* Update version to 0.1.2 and enhance README with new features and examples
- Bump version in `pyproject.toml` to 0.1.2.
- Update authors in `pyproject.toml` to include Amey Desai and Saksham Mittal.
- Add new features (Audit Logs, Metrics, Notifications, Schemas, Quarantine Settings) to the README.
- Expand examples section in README with detailed structure and instructions for running examples.
* Update pyproject.toml for version management and enhance GitHub Actions workflow
- Bump setuptools requirement to 45 and add setuptools_scm for dynamic versioning.
- Change version specification in pyproject.toml to dynamic.
- Update GitHub Actions workflow to fetch full history for setuptools_scm and verify version using it instead of extracting from tags.
* Update GitHub Actions workflow to include setuptools_scm for version management
- Added setuptools_scm to the dependencies in the release workflow to support dynamic versioning.
* Refactor authentication handling in Nexla SDK
- Enhanced `TokenAuthHandler` to support both Service Key and Direct Token authentication flows, improving flexibility.
- Updated `NexlaClient` to validate authentication parameters and handle token management more effectively.
- Added detailed documentation for authentication methods and usage examples in the client class.
- Improved error handling for token refresh and validation processes.
* Update client.py
* Enhance token management in TokenAuthHandler and add refresh_access_token method in NexlaClient
- Increased token_refresh_margin from 600 to 3600 seconds for improved token validity.
- Updated token expiry logic to set a default expiry of 86400 seconds for direct tokens.
- Introduced refresh_access_token method in NexlaClient to allow forced token refresh for both service key and direct access tokens, enhancing token management capabilities.
* Refactor SDK documentation and structure
- Added new markdown files for authentication patterns, error handling patterns, examples standards, and project structure.
- Updated README.md to include API documentation and support links.
- Introduced new utility files for handling exceptions and pagination.
- Cleaned up example scripts and tests to align with the new structure.
* Refactor API structure and enhance model definitions
- Updated `TokenAuthHandler` and `NexlaClient` to use `base_url` instead of `api_url` for improved clarity.
- Enhanced `RequestsHttpClient` to handle empty responses and non-JSON content more gracefully.
- Introduced new utility methods in `BaseModel` for better serialization to dictionary and JSON formats.
- Added various enums and refined model imports across the SDK for better organization and clarity.
- Updated resource classes to support new request and response models, improving type safety and usability.
* Refactor access control models and remove AccessorRule
- Removed the AccessorRule model from the SDK to streamline access control definitions.
- Introduced new models for user, team, and organization accessors, enhancing clarity and usability.
- Updated resource methods to utilize the new accessor request and response models, improving type safety.
- Organized access-related models into a dedicated module for better structure.
* Enhance organization models and resource methods
- Introduced new request models for organization creation and member management, improving the SDK's capabilities for handling organizations.
- Updated existing organization response models to include optional fields for better flexibility.
- Enhanced the OrganizationsResource class with methods for creating, activating, and deactivating organization members, as well as retrieving account summaries and audit logs.
- Refined user response models to include optional API key fields, improving user management features.
- Corrected path references in LookupsResource for consistency.
* Enhance error handling and context in Nexla SDK
- Improved error handling in `NexlaClient` and `BaseResource` to provide detailed context for exceptions, including HTTP method, path, and request parameters.
- Updated `NexlaError` class to include additional attributes for operation, resource type, and original error, allowing for more informative error messages.
- Refactored `_make_request` method in `BaseResource` to capture and re-raise exceptions with enhanced context, improving debugging capabilities.
- Ensured consistent error handling across various resource methods, enriching the SDK's robustness in managing API interactions.
* Refactor exception handling in Nexla SDK
- Moved exception classes from `nexla_sdk.utils.exceptions` to `nexla_sdk.exceptions` for better organization.
- Enhanced `NexlaError` class with additional attributes for detailed error context, including operation, resource type, and original error.
- Introduced new specific exception types such as `AuthenticationError`, `AuthorizationError`, `ValidationError`, and others to improve error handling granularity.
- Updated relevant imports across the SDK to reflect the new exception structure, ensuring consistent error management.
* Enhance Nexla SDK with new connector models and improved test coverage
- Introduced numerous new connector models to expand integration capabilities across various platforms.
- Refactored existing models for better organization and clarity.
- Enhanced test suite with additional integration and unit tests to ensure robust functionality and reliability.
- Updated documentation to reflect new features and usage examples, improving developer experience.
* Update connector models and enhance SDK documentation
- Added numerous new connector models to expand integration capabilities across various platforms.
- Refactored existing connector models for improved organization and clarity.
- Enhanced the README.md with updated usage examples and documentation for new features.
- Improved test coverage for connector models to ensure robust functionality and reliability.
* Add pre-commit configuration and contributing guidelines
- Introduced a pre-commit configuration file to enforce code quality checks using Ruff, Black, and Isort.
- Added a CONTRIBUTING.md file to outline setup instructions, coding standards, testing guidelines, and release procedures for contributors.
- Updated pyproject.toml to require a newer version of setuptools for better compatibility.
- Enhanced README.md with clearer instructions on using service keys and environment variables.
- Implemented CI workflow for automated testing across multiple Python versions.
* Add comprehensive documentation and new configuration files for SDK
- Introduced a new documentation site structure with multiple markdown files covering authentication, error handling, guides, and API references.
- Added configuration files for Docusaurus to enhance documentation generation and site navigation.
- Updated existing README.md and pyproject.toml to reflect new documentation and project structure.
- Included example scripts and improved test coverage for the telemetry module.
- Enhanced .gitignore to exclude unnecessary files from version control.
* Refactor imports and clean up unused code in SDK
- Removed unnecessary imports from various modules, including `json`, `time`, and unused type hints.
- Streamlined the import statements in `gen_api_docs.py`, `fetch_resources.py`, and several model files for better readability.
- Enhanced consistency across the codebase by ensuring only required imports are included, improving maintainability.
* Enhance testing utilities and improve test coverage
- Added new testing dependencies in `pyproject.toml` for better test management, including `pytest-cov`, `pytest-xdist`, and `hypothesis`.
- Updated `pytest.ini` to include a new marker for integration tests related to team creation.
- Refactored test data generation in `test_credentials.py` and `test_sources.py` to avoid whitespace/control characters in names and descriptions, ensuring more robust property testing.
- Improved error handling in test cases to cover various edge cases and enhance overall test reliability.
* Update Node.js version and enhance Docusaurus configuration
- Updated Node.js version from 18 to 20 in the GitHub Actions workflow for improved compatibility.
- Added a check for Node.js version in the Docusaurus configuration to conditionally load the local search plugin.
- Updated package.json to specify a minimum Node.js version of 20.
- Revised README.md to reflect the updated Node.js requirement.
* Update documentation links and remove outdated file
- Updated links in the getting started guide for authentication and error handling sections to reflect new paths.
- Deleted the outdated 'what-is-nexla-sdk.md' file from version 0.1.8 as it is no longer needed.