Releases: nexla-opensource/nexla-sdk-python
Releases · nexla-opensource/nexla-sdk-python
v1.0.4
v1.0.3
Add monitoring endpoint methods and explicit params for MCP integrati…
v1.0.2
fix: make DataMapInfo.description and NotificationSetting.resource_id…
v1.0.1 Expanded SDK: Async Tasks, Marketplace, Transforms, GenAI, Runtimes, and more
Highlights
- 12 new resources added to the client: approval requests, async tasks, attribute transforms, code containers, data schemas, doc containers, genAI, marketplace, org auth configs, runtimes, self signup, transforms.
- Marketplace support: domains CRUD, items list/create, domain custodians add/update/remove.
- Async Tasks orchestration: create, get/status, rerun, result, download link.
- Expanded docs and examples in README and docs-site; improved BaseResource docs and usage examples.
What's New
Client Resources
- approval_requests
- async_tasks
- attribute_transforms
- code_containers
- data_schemas
- doc_containers
- genai
- marketplace
- org_auth_configs
- runtimes
- self_signup
- transforms
Marketplace
- Domains CRUD
- Items list/create
- Custodians add/update/remove
Async Tasks
- list/create/get/delete/rerun/result/download_link/types/explain_arguments
Runtimes
- CRUD + activate/pause for execution environments
Org Auth Configs
- list/all/get/create/update/delete
GenAI
- Configs CRUD
- Org settings CRUD
- Show active config
Self Signup (Admin)
- Review requests and manage blocked domains
Doc Containers + Data Schemas
- Audit log endpoints and access control via BaseResource helpers
Improvements
- BaseResource docstrings and examples: clearer list/get/create usage, common filters (page, per_page, access_role), and resource-specific params.
- README adds "New Resources and Usage" and a coverage matrix mapping OpenAPI areas to SDK helpers.
- .gitignore: Docusaurus and common tool caches (ruff, pyright, Cursor, Claude, direnv).
Refactor
- Standardized Custodian user type under organizations models (CustodianUser) and aligned imports across marketplace/organizations.
Docs
- New/expanded API reference pages for the added resources and models under docs-site.
- README examples for new resources (transforms, async tasks, approval requests, runtimes, marketplace, org auth configs, genAI, self signup, doc/data schema audit).
Testing
- 15 new unit tests + 2 updated covering new resources and flows.
- Run:
pytest -m unit -qorpython tests/run_tests.py.
Breaking Changes
- None relative to main. Note: custodian user type is standardized at
nexla_sdk.models.organizations.responses.CustodianUser. If you previously imported a marketplace-scoped type in local work, update imports accordingly.
Upgrade Notes
- No config changes required. New resources are accessible via NexlaClient (e.g.,
client.async_tasks,client.marketplace,client.transforms, etc.).
v1.0.0
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.
v0.1.8
Merge pull request #3 from golchakrish/add-get-user-by-email-nexla feat: Add user email lookup, webhook tracking and schema templates
v0.1.7
Enhance token management in TokenAuthHandler and add refresh_access_t…
v0.1.6
Update client.py
v0.1.5
Update client.py
v0.1.4
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.