NL2SQL API
FastAPI REST service for the NL2SQL engine (nl2sql-engine). It builds one
NL2SQL engine at startup, from the same env file and configs as the CLI, and
serves it under /api/v1.
Running the API
pip install nl2sql-api
ENV=demo NL2SQL_API_ROLE=admin nl2sql-api --host 127.0.0.1 --port 8000 [--reload]
# or: python -m nl2sql_api.server ..., or: uvicorn nl2sql_api.main:app
Start it from the folder holding the env file and configs (the demo's use
relative paths). Interactive docs: Swagger UI at /docs, ReDoc at /redoc,
the schema at /openapi.json.
The API does not authenticate callers and never takes the RBAC role from the
request body. Set one of: NL2SQL_API_ROLE_HEADER (a header a trusted proxy
sets), NL2SQL_API_ROLE (one static role) or, for local testing only,
NL2SQL_API_TRUST_BODY_ROLE=true (the body's user_context; logs a warning).
With none, /api/v1/query answers HTTP 401.
Endpoints
POST /api/v1/query- Ask a question as the configured roleGET /api/v1/health- Liveness checkGET /api/v1/ready- Readiness check (does not yet check dependencies)POST /api/v1/datasource- Register a datasource in the running processGET /api/v1/datasource- List registered datasource idsGET /api/v1/datasource/{datasource_id}- Check a datasource is registeredDELETE /api/v1/datasource/{datasource_id}- Not supported yet (answerssuccess: false)POST /api/v1/llm- Configure an LLM in the running processGET /api/v1/llm- List configured LLMsGET /api/v1/llm/{llm_name}- Get one configured LLMPOST /api/v1/index/{datasource_id}- Index one datasource's schemaPOST /api/v1/index-all- Index every registered datasourceDELETE /api/v1/index- Clear the vector storeGET /api/v1/index/status- Index health (status, entries by type, embedding model, problems)
Reference: https://github.com/nadeem4/nl2sql/blob/main/docs/api/rest/index.md.
Metadata
Release files for nl2sql-api 0.2.3
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_api-0.2.3.tar.gz | 18.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nl2sql_api-0.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.3 kB
Release files / nl2sql_api-0.2.3.tar.gz
| Download URL | nl2sql_api-0.2.3.tar.gz |
|---|---|
| Size | 18.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ae7b965657633992ce40cf5f550bac334ac86d121948692ffb4be058419f77aa
|
|
BLAKE2b-256 checksum How to use checksums |
a6e74e0088aa0f27274ec754e87f3136209237ee3fa5c5ab96bc69112c2aa0af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / nl2sql_api-0.2.3-py3-none-any.whl
| Download URL | nl2sql_api-0.2.3-py3-none-any.whl |
|---|---|
| Size | 16.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e5ba95182277aad53db66b3a24df715e776601df5827f0259d3ea2966aaed7a
|
|
BLAKE2b-256 checksum How to use checksums |
f5d9f54b69d8f8f4ffac2c5710b69158edb2db8ff014edbd2f15644a1ec4c504
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|