sqai
SQAI (Structured Query AI) — the deterministic, read-only structured-data SDK for AI
agents, with full provenance. Python twin of @thyn-ai/sqai:
same vocabulary, same error codes, same golden numbers, byte-identical cross-language hashes.
from sqai import create_sqai
sq = create_sqai() # zero-config: SQAI_DEPLOYMENT_URL -> private deployment, else local
sq.connect([
{"region": "east", "revenue": 1200.50},
{"region": "west", "revenue": 900.25},
{"region": "east", "revenue": 930.00},
], name="sales")
# Query plane — in-process, no key
outcome = sq.ask({"metric": "revenue", "aggregation": "sum",
"group_by": "region", "source_name": "sales"})
# Compute plane — one of 6,084 read-only capabilities; same value + hashes as TypeScript
# Requires a free SQAI login first: `sqai login`
result = sq.compute(module="finance", function="npv", args=[0.1, [-1000, 300, 420, 560, 680]])
print(result["value"], result["computation_hash"])
# 505.020148896933 b74f67d0d7a594aa7ac91f6291612452aa8ccdf603351ebc8d801a6fddd91bc8
- Query plane —
connect/resolve/query/verify/ask, in-process, no daemon or key. - Compute plane — validated against the embedded capability contract, dispatched to the
managed runtime (it provisions once, then stays warm — no per-query cold start); results pass
through verbatim with a determinism envelope (
invocation_hashbefore execution,computation_hashafter). - Policy — allow-lists for sources, fields, and functions; the surface is read-only and replayable by construction, and policy can only narrow it.
- Errors — engine codes pass through verbatim (
source="engine"); SQAI codes share the same snake_case vocabulary (source="sqai"). Messages never leak absolute paths.
The unsafe escape hatch (from sqai.unsafe import get_unsafe_runtime) bypasses every guarantee
above and is deliberately not exported from the package root.
Apache-2.0.
Release files for sqai 0.1.19
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sqai-0.1.19.tar.gz | 349.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sqai-0.1.19-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 699.2 kB
Release files / sqai-0.1.19.tar.gz
| Download URL | sqai-0.1.19.tar.gz |
|---|---|
| Size | 349.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9205ab478ab6f50476e4dd98cd4c547530c3652d4305a0c831bc10cbc0d3edd5
|
|
BLAKE2b-256 checksum How to use checksums |
e3286fd5942c29e69255913cd99d9bd24c5894bdfd983323d5c9568273d91196
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / sqai-0.1.19-py3-none-any.whl
| Download URL | sqai-0.1.19-py3-none-any.whl |
|---|---|
| Size | 350.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
507c10813162c7fa6354d8dba7e4e588d0a389cc117d03ddea8651bfe06f5c46
|
|
BLAKE2b-256 checksum How to use checksums |
9b6ded19c3a3a6f4779d7e1ee6d11bbc4ea6db2d5f62a63626f970188ab0f914
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|