HTAP database system. Built-in input validation, SQL safety checks (rejects stacked queries, ATTACH DATABASE, LOAD_EXTENSION), request size limits, structured tracing, and graceful shutdown.
Recommended:
curl -LsSf https://dkdc.sh/db/install.sh | shPre-built binaries are available for Linux and macOS via Python (uv). Windows users should install via cargo or use macOS/Linux.
uv:
uv tool install dkdc-dbcargo:
cargo install dkdc-db-cli dkdc-db-serverVerify installation:
db --versionYou can use uvx to run it without installing:
uvx --from dkdc-db dbcargo install dkdc-db-cli
db init # creates db.toml with example config
# edit db.toml to define your databases and tables
db serve # bootstraps from config, starts serverdb serve # Start multi-database server in tmux
db status # Check server status
db logs # View recent logs
db attach # Attach to tmux session
db stop # Stop server
db init # Generate starter db.toml
db bootstrap # Bootstrap databases from config (no server)
db create mydb # Create a database
db list # List databases
db repl --db mydb # Interactive SQL REPL
db execute --db mydb "SQL" # One-shot write
db query --db mydb "SQL" # One-shot OLTP query
db query "SQL" # Cross-db analytical queryuse dkdc_db_core::DbManager;
let mgr = DbManager::new().await?;
mgr.create_db("mydb").await?;
mgr.execute("mydb", "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)").await?;
mgr.execute("mydb", "INSERT INTO users VALUES (1, 'alice')").await?;
let results = mgr.query("SELECT * FROM mydb.public.users").await?;from dkdc_db import Db
db = Db() # connects to http://127.0.0.1:4200
# database management
db.create_db("mydb")
print(db.list_dbs())
# write
db.execute("mydb", "CREATE TABLE t (id INT, name TEXT)")
db.execute("mydb", "INSERT INTO t VALUES (1, 'hello')")
# read (analytical, cross-db)
result = db.query("SELECT * FROM mydb.t")
# read (fast path, single db)
result = db.query_oltp("mydb", "SELECT * FROM t")