algovoi-keystone-odbc
Bind ODBC / DB-API database operations to the AlgoVoi keystone. Wrap any DB-API 2.0 cursor
(pyodbc, sqlite3, psycopg, …) and every executed statement gets a content-addressed
execution_ref binding that operation to the keystone decision that authorised it. Open,
keystone-only edition, Apache-2.0.
execution_ref = "sha256:" + SHA-256(JCS({ decision_ref, action_type, scope, outcome, executed_at_ms }))
import pyodbc
from algovoi_keystone_odbc import keystone_cursor
conn = pyodbc.connect(dsn)
cur = keystone_cursor(conn.cursor(), decision_ref="sha256:…", scope="orders")
cur.execute("INSERT INTO orders (id, total) VALUES (?, ?)", 1, 4200)
cur.execution_ref # sha256:… — binds that INSERT to the authorising keystone decision
cur.executions # [{statement, action_type: "db:insert", outcome: "COMMITTED", execution_ref, …}]
A failed statement is recorded with outcome FAILED and the error re-raised. action_type is
derived from the SQL verb (db:insert, db:update, db:delete, db:select, …). The wrapper is
a drop-in: attribute access (fetchone, description, …) falls through to the real cursor.
Standalone, without the cursor:
from algovoi_keystone_odbc import db_execution_ref, tamper_detected
ref = db_execution_ref(decision_ref="sha256:…", statement="UPDATE orders SET total=0",
scope="orders", outcome="REVERSED", executed_at_ms=1716460800000)
tamper_detected(ref, decision_ref="sha256:…", statement="UPDATE orders SET total=0",
scope="orders", outcome="REVERSED", executed_at_ms=1716460800000) # -> False
Keystone-only edition
| Open (this package) | Commercial | |
|---|---|---|
Per-operation execution_ref binding |
yes | yes |
| Drop-in cursor instrumentation | yes | yes |
| Tamper detection (recompute) | yes | yes |
| Signed, hash-linked chain of operations | — | yes |
| PQC signing + CCC evidence ingest | — | yes |
This edition binds and verifies each database operation. Chaining operations into a signed, tamper-evident audit log is the commercial tier.
License
Apache-2.0. Copyright AlgoVoi. Byte-compatible with algovoi-execution-ref.
Metadata
Release files for algovoi-keystone-odbc 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| algovoi_keystone_odbc-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| algovoi_keystone_odbc-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 | Details |
| algovoi_keystone_odbc-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 | Details |
| algovoi_keystone_odbc-0.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 | Details |
Total release size: 949.0 kB
Release files / algovoi_keystone_odbc-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | algovoi_keystone_odbc-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 235.4 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b8fbf1d3cfaad9a9f39187c7b023c73cc73b240d5d406fe86dba7bb547b43ff6
|
|
BLAKE2b-256 checksum How to use checksums |
9338282c206065dd48afef7d13a46cf201675789cf16be66f891b00632dfc9ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / algovoi_keystone_odbc-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | algovoi_keystone_odbc-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 270.1 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
fdff9fcbf4e34aac3b0dabba5a9a5519403755249fe287fe2bcf7cb75e9cdac5
|
|
BLAKE2b-256 checksum How to use checksums |
eeaf2321f94dc774f29bbfca7a198edf7468a1f86cbb53da5f5ab26d5c1f121c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / algovoi_keystone_odbc-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | algovoi_keystone_odbc-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 227.2 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
626712a6c4df42cbe38da61963c3822143f69de0f707987528ecc57068c6bd4b
|
|
BLAKE2b-256 checksum How to use checksums |
4af885bd467f2981566e246d788537740c9bdc1929586d034e16923c3943a8e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / algovoi_keystone_odbc-0.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | algovoi_keystone_odbc-0.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 216.2 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2a67d31f2b3b90595660e9121a949531eac34ae099d94b0eb2e3ed892da5e032
|
|
BLAKE2b-256 checksum How to use checksums |
54c7d5340c40c0079981867abc581d642cad448b8952924cd1feca669d6ebab6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for algovoi-keystone-odbc 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.