Skip to main content

nl2sql-sdk

The interfaces an extension for the nl2sql engine implements: database adapters, secret providers, stores and policy checks. The import package is nl2sql_sdk. Its core depends on pydantic and the standard library only, so an extension built against it inherits nothing else.

  • DatasourceAdapter: capabilities(), test_connection(), fetch_schema_snapshot(scope), execute(request) and get_dialect(), which returns a sqlglot dialect name such as postgres or tsql. An adapter class also declares interface_version = 2, a connection_model, the driver_modules it needs and an install_hint for when one is missing.
  • nl2sql_sdk.sqlalchemy (pip install "nl2sql-sdk[sqlalchemy]"): SQLAlchemyAdapter, the base the built-in adapters are built on, and SQLAlchemyConnection. The one part of the SDK that imports SQLAlchemy.
  • nl2sql_sdk.testing (pip install "nl2sql-sdk[testing]"): AdapterConformance, the conformance kit, a pytest test class an adapter's tests subclass. It imports pytest and sqlglot.
  • AdapterRequest, ResultFrame and ResultError: what the engine sends an adapter and what it gets back.
  • SchemaSnapshot and the table, column and foreign-key contracts an adapter describes its schema with.
  • SecretProvider: interface_version = 1, a strict config_model for its block in the secrets config, from_config(cfg) and get_secret(key).
  • nl2sql_sdk.stores: the index, state, trace and results store interfaces.
  • nl2sql_sdk.policy: PolicyCheck (interface_version = 1, a strict config_model, from_config(cfg) and grant(user, datasource_id)), with UserContext and Grant.

An adapter is published as an nl2sql.adapters entry point, and the engine finds it there; it never imports an adapter by name.

pip install nl2sql-sdk

Writing an adapter: Adapter development. Try the engine without installing anything: https://nl2sql.codewithnk.com.

Metadata

Release files for nl2sql-sdk 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nl2sql-sdk 0.6.0
File Size Uploaded
nl2sql_sdk-0.6.0.tar.gz 29.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nl2sql-sdk 0.6.0
File Interpreter ABI Platform
nl2sql_sdk-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 62.9 kB

Release files / nl2sql_sdk-0.6.0.tar.gz

Download URL nl2sql_sdk-0.6.0.tar.gz
Size 29.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3ccecafa8f1e00e67b2fbc6b9b6a94fa0190a3f2f4ad36858cdb81f8b8628a9c
BLAKE2b-256 checksum
How to use checksums
ed58c2867105d00d90ea8e688255cddd01f7bd8f2fa66517c99c0ae1463f7227
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / nl2sql_sdk-0.6.0-py3-none-any.whl

Download URL nl2sql_sdk-0.6.0-py3-none-any.whl
Size 33.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2791740ff7e1bea58898d06ba5290080b053f6d390bee2daad15dead283be8fa
BLAKE2b-256 checksum
How to use checksums
5cd7a50ca272469f59ee1d010c636b7a2a93c84c8f0e8fba9c4d8557342783d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.7.0

2 release files

This release

0.6.0 This release

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page