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)andget_dialect(), which returns a sqlglot dialect name such aspostgresortsql. An adapter class also declaresinterface_version = 2, aconnection_model, thedriver_modulesit needs and aninstall_hintfor when one is missing.nl2sql_sdk.sqlalchemy(pip install "nl2sql-sdk[sqlalchemy]"):SQLAlchemyAdapter, the base the built-in adapters are built on, andSQLAlchemyConnection. 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,ResultFrameandResultError: what the engine sends an adapter and what it gets back.SchemaSnapshotand the table, column and foreign-key contracts an adapter describes its schema with.SecretProvider:interface_version = 1, a strictconfig_modelfor its block in the secrets config,from_config(cfg)andget_secret(key).nl2sql_sdk.stores: the index, state, trace and results store interfaces.nl2sql_sdk.policy:PolicyCheck(interface_version = 1, a strictconfig_model,from_config(cfg)andgrant(user, datasource_id)), withUserContextandGrant.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| nl2sql_sdk-0.7.0.tar.gz | 31.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|