Skip to content

Releases: nexla-opensource/nexla-sdk-python

v1.0.4

08 May 07:32
88fd6b5

Choose a tag to compare

Merge pull request #16 from nexla-opensource/fix/resource-type-format…

v1.0.3

04 Mar 04:01
f163178

Choose a tag to compare

Add monitoring endpoint methods and explicit params for MCP integrati…

v1.0.2

10 Feb 19:12
95a979b

Choose a tag to compare

fix: make DataMapInfo.description and NotificationSetting.resource_id…

v1.0.1 Expanded SDK: Async Tasks, Marketplace, Transforms, GenAI, Runtimes, and more

31 Oct 00:40
efa423c

Choose a tag to compare

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 -q or python 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

24 Sep 22:16
528e2ef

Choose a tag to compare

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

19 Jun 11:07
9dbc466

Choose a tag to compare

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

18 Jun 03:54

Choose a tag to compare

Enhance token management in TokenAuthHandler and add refresh_access_t…

v0.1.6

18 Jun 00:56

Choose a tag to compare

Update client.py

v0.1.5

17 Jun 16:55

Choose a tag to compare

Update client.py

v0.1.4

17 Jun 16:03

Choose a tag to compare

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.