Skip to main content

AI-native, bitemporal ledger database with MVCC, SQL, and LSM storage

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

novodb-0.1.0-cp313-cp313-manylinux_2_34_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

File details

Details for the file novodb-0.1.0-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for novodb-0.1.0-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 4622602a30ba69908d5e0e7d35017bc96f256860bdafde922420f0006ec30dc1
MD5 9588232053aa2f04451edbc3d103f6e5
BLAKE2b-256 fbf644e4fbdaf0fd92c7c99da126c14aceb5fc3c2d3d0a9d34f907c1d90003b6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page