NL2SQL 0.1.0
The first release: the NL2SQL engine, its REST API and the adapter SDK on PyPI as three packages that share one version.
Released 2026-08-28.
Highlights
pip install nl2sql-enginegives you the engine and thenl2sqlCLI.nl2sql-apiserves it over REST, andnl2sql-adapter-sdkis what a third-party database adapter builds against.- The model writes a typed plan, never SQL. The plan is checked against the schema and your role before any SQL is generated.
- A DuckDB adapter joins PostgreSQL, MySQL, SQL Server and SQLite.
- The Docker demo now starts the application as well as its databases, so it can answer a question with nothing else installed.
What's included
Features
- A DuckDB adapter, installed with the
nl2sql-engine[duckdb]extra (#57). - The Docker demo runs the application next to its databases. SQL Server is now opt-in, so the first start skips a 1.6 GB download (#59).
- Releases are automated: release-please writes the changelog, and a merged release PR publishes to PyPI (#58).
Fixes
- Cancelling one run no longer cancels every other run in the process (#48).
- The REST API needs its CORS origins listed. It no longer accepts any origin together with credentials (#49).
- The minimum versions of pydantic, langgraph and chromadb are now correct (#50).
- Importing
nl2sqlno longer changes your application's logging setup (#51). - The
NL2SQLfacade builds its settings API correctly (#52).
Docs
- The README and architecture docs now describe only code that exists (#54), and the docs cover the three-package layout (#60).
Known limits
- No API image was published to GHCR for 0.1.0, because the image build failed. 0.1.1 fixes the build.
- The project is pre-1.0, so the API can still change between minor versions.
Upgrading
Breaking changes: nine earlier distributions are now three, nl2sql-engine, nl2sql-api and nl2sql-adapter-sdk, and the dialect adapters ship inside the engine (#56). The import name is still nl2sql.
What's next
Next: 0.1.1, with fixes for the CLI, the Docker demo and the release pipeline.
Full changelog: CHANGELOG.md