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.18
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.18.tar.gz | 349.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sqai-0.1.18-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 699.2 kB
Release files / sqai-0.1.18.tar.gz
| Download URL | sqai-0.1.18.tar.gz |
|---|---|
| Size | 349.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
64b2b14d6f20e45abf5a40aed0f2fc4c15f48ceb5d25a49032c339f13e7deb3b
|
|
BLAKE2b-256 checksum How to use checksums |
d99e2631ffece9f36c36b552aa2000bf42fad25cac488ab6846738e862734305
|
| 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.18-py3-none-any.whl
| Download URL | sqai-0.1.18-py3-none-any.whl |
|---|---|
| Size | 350.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c666f09ea8651f2a20141f5f4ca5a390a6c62d830aaea775a3f80751eaba5ac0
|
|
BLAKE2b-256 checksum How to use checksums |
606edfc9cab37810c331cdcda8375dc216b6327e1edfa6375fa708d407dfe97f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|