novodb
Python bindings for NovoDB — an AI-native, bitemporal ledger database with MVCC, SQL, and LSM storage.
Install
pip install novodb
Quick Start
from novodb import PyDatabase
import json
# Open (or create) a database
db = PyDatabase.open("/tmp/mydb")
# Insert a document
doc = json.dumps({"name": "Alice", "age": 30}).encode()
db.put(b"user:1", doc, 0, 2**63 - 1)
# Point read
data = db.get(b"user:1")
print(json.loads(data)) # {'name': 'Alice', 'age': 30}
# SQL query
db.sql("CREATE TABLE users (id INT, name TEXT, age INT)")
db.sql("INSERT INTO users VALUES (1, 'Alice', 30)")
rows = db.sql("SELECT * FROM users WHERE age > 25")
print(rows)
API
PyDatabase.open(path, shard_count=None)
Open or create a database at path.
db.put(key, doc, valid_from, valid_to)
Insert a document. Returns the commit timestamp.
db.get(key, as_of=None, valid_at=None)
Read a document by key. Supports bitemporal queries.
db.sql(query)
Execute a SQL statement. Returns rows or affected-row metadata.
License
PolyForm Noncommercial 1.0.0
Metadata
Release files for novodb 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| novodb-0.1.0-cp313-cp313-manylinux_2_34_aarch64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.34+ ARM64 | Details |
Release files / novodb-0.1.0-cp313-cp313-manylinux_2_34_aarch64.whl
| Download URL | novodb-0.1.0-cp313-cp313-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.13 Linux glibc 2.34+ ARM64 |
|
SHA-256 checksum How to use checksums |
4622602a30ba69908d5e0e7d35017bc96f256860bdafde922420f0006ec30dc1
|
|
BLAKE2b-256 checksum How to use checksums |
fbf644e4fbdaf0fd92c7c99da126c14aceb5fc3c2d3d0a9d34f907c1d90003b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|