Python Bindings
TensorDB provides Python bindings via PyO3/maturin, giving Python applications access to the full database engine.
Installation
pip install tensordbQuick Start
import tensordb
# Open a databasedb = tensordb.open("my_data")
# Create a tabledb.sql("CREATE TABLE users (id TEXT, name TEXT, email TEXT)")
# Insert datadb.sql("INSERT INTO users VALUES ('u1', 'Alice', 'alice@co.com')")db.sql("INSERT INTO users VALUES ('u2', 'Bob', 'bob@co.com')")
# Queryresults = db.sql("SELECT * FROM users WHERE id = 'u1'")for row in results: print(row)Key-Value API
# Writedb.put("user/alice", "Alice Chen")
# Readvalue = db.get("user/alice")print(value) # "Alice Chen"
# Scanfor key, value in db.scan_prefix("user/"): print(f"{key}: {value}")Temporal Operations
# Time-travel readvalue = db.get_as_of("user/alice", commit_ts=500)
# Bitemporal writedb.put_temporal("policy/rate", 4.25, valid_from=1704067200, valid_to=1735689600)
# Bitemporal queryresults = db.sql("SELECT * FROM policies VALID AT 1718409600")Prepared Statements
results = db.sql( "SELECT * FROM users WHERE id = $1", params=["u1"])Configuration
config = tensordb.Config()config.shard_count = 8config.memtable_max_bytes = 8 * 1024 * 1024db = tensordb.open("my_data", config=config)Building from Source
cd crates/tensordb-pythonpip install maturinmaturin develop --release