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.7.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.7.0
File Size Uploaded
nl2sql_sdk-0.7.0.tar.gz 31.6 kB Details

Built distribution (wheel)

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

Total release size: 67.8 kB

Release files / nl2sql_sdk-0.7.0.tar.gz

Download URL nl2sql_sdk-0.7.0.tar.gz
Size 31.6 kB
Tags Source
SHA-256 checksum
How to use checksums
487f63afb20fb119efa33542872191ad035ad50a3dd0e5df674ce3a7594aeec0
BLAKE2b-256 checksum
How to use checksums
afbe543302229a48b07a9f32cb01a39d5c0d24389c46e9490b15289c78fbbe63
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.7.0-py3-none-any.whl

Download URL nl2sql_sdk-0.7.0-py3-none-any.whl
Size 36.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
96b3e9099df9e644701e20d33c22793bdd42253c02e2dfac88d33235532a7738
BLAKE2b-256 checksum
How to use checksums
7c15d8533257d82523f3832b298f527b0ea6ec23358f751d3f21dc73184856f9
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

This release

0.7.0 This release

2 release files

0.6.0

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