| Crates.io | kotadb |
| lib.rs | kotadb |
| version | 0.5.0 |
| created_at | 2025-08-13 20:56:07.58879+00 |
| updated_at | 2025-08-15 22:33:28.350042+00 |
| description | A custom database for distributed human-AI cognition |
| homepage | |
| repository | https://github.com/jayminwest/kota-db |
| max_upload_size | |
| id | 1794123 |
| size | 4,532,175 |
A custom database for distributed human-AI cognition, built entirely by LLM agents.
pip install kotadb-client
npm install kotadb-client
cargo add kotadb
๐ง Work in Progress - Go client is currently under development. See #114 for progress.
# Will be available soon at:
# go get github.com/jayminwest/kota-db/clients/go
Get from zero to first query in under 60 seconds:
# One command to start everything
docker-compose -f docker-compose.quickstart.yml up -d
# Run Python demo (shows all features)
docker-compose -f docker-compose.quickstart.yml --profile demo up python-demo
# One-liner installation and demo
curl -sSL https://raw.githubusercontent.com/jayminwest/kota-db/main/quickstart/install.sh | bash
# Start server
docker run -p 8080:8080 ghcr.io/jayminwest/kota-db:latest serve
# Install client and try it
pip install kotadb-client
python -c "
from kotadb import KotaDB, DocumentBuilder
db = KotaDB('http://localhost:8080')
doc_id = db.insert_with_builder(
DocumentBuilder()
.path('/hello.md')
.title('Hello KotaDB!')
.content('My first document')
)
print(f'Created document: {doc_id}')
results = db.query('hello')
print(f'Found {len(results.get(\"documents\", []))} documents')
"
๐ That's it! You're now running KotaDB with type-safe client libraries.
KotaDB combines document storage, graph relationships, and semantic search
into a unified system designed for the way humans and AI think together.
Real-world benchmarks on Apple Silicon:
| Operation | Latency | Throughput |
|---|---|---|
| B+ Tree Search | 489 ยตs | 2,000 queries/sec |
| Trigram Search | <10 ms | 100+ queries/sec |
| Document Insert | 277 ยตs | 3,600 ops/sec |
| Bulk Operations | 20 ms | 50,000 ops/sec |
10,000 document dataset, Apple Silicon M-series
Production-ready applications demonstrating real-world usage:
Complete web application with REST API and UI
cd examples/flask-web-app && pip install -r requirements.txt && python app.py
# Visit http://localhost:5000
Advanced document management with folders and tags
cd examples/note-taking-app && pip install -r requirements.txt && python note_app.py
# Visit http://localhost:5001
AI-powered question answering with document retrieval
cd examples/rag-pipeline && pip install -r requirements.txt && python rag_demo.py
# Requires OPENAI_API_KEY for best results
# Python type-safe usage
from kotadb import KotaDB, DocumentBuilder, ValidatedPath
db = KotaDB("http://localhost:8080")
doc_id = db.insert_with_builder(
DocumentBuilder()
.path(ValidatedPath("/notes/meeting.md"))
.title("Team Meeting")
.content("Discussion about project timeline...")
.add_tag("meeting")
.add_tag("important")
)
# Advanced search with filters
from kotadb import QueryBuilder
results = db.query_with_builder(
QueryBuilder()
.text("project timeline")
.tag_filter("meeting")
.limit(10)
)
# Clone and build
git clone https://github.com/jayminwest/kota-db.git
cd kota-db && cargo build --release
# Start server
cargo run --bin kotadb -- serve
# CLI operations
cargo run --bin kotadb -- insert /docs/rust.md "Rust Guide" "Ownership concepts..."
cargo run --bin kotadb -- search "ownership" # Full-text search
cargo run --bin kotadb -- search "*" # List all documents
cargo run --bin kotadb -- stats # Database statistics
just dev # Auto-reload development server
just test # Run comprehensive test suite
just check # Format, lint, and test everything
just bench # Performance benchmarks
just release-preview # Preview next release
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Query Interface โ
โ Natural Language + Structured โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Query Router โ
โ Automatic index selection based on query โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโค
โ Primary โ Full-Text โ Graph โ Semantic โ
โ B+ Tree โ Trigram โ (Planned) โ HNSW โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโค
โ Storage Engine โ
โ Pages + WAL + Compression + Memory Map โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
use kotadb::{create_file_storage, DocumentBuilder};
#[tokio::main]
async fn main() -> Result<()> {
// Production-ready storage with all safety features
let mut storage = create_file_storage("~/.kota/db", Some(1000)).await?;
// Type-safe document construction
let doc = DocumentBuilder::new()
.path("/knowledge/rust-patterns.md")?
.title("Advanced Rust Design Patterns")?
.content(b"# Advanced Rust Patterns\n\n...")?
.build()?;
// Automatically traced, validated, cached, with retries
storage.insert(doc).await?;
Ok(())
}
from kotadb import KotaDB, DocumentBuilder, QueryBuilder, ValidatedPath
# Connect to KotaDB server
db = KotaDB("http://localhost:8080")
# Type-safe document construction (runtime validation)
doc_id = db.insert_with_builder(
DocumentBuilder()
.path(ValidatedPath("/knowledge/python-patterns.md"))
.title("Python Design Patterns")
.content("# Python Patterns\n\n...")
.add_tag("python")
.add_tag("patterns")
)
# Query with builder pattern
results = db.query_with_builder(
QueryBuilder()
.text("design patterns")
.limit(10)
.tag_filter("python")
)
import { KotaDB, DocumentBuilder, QueryBuilder, ValidatedPath } from 'kotadb-client';
// Connect to KotaDB server
const db = new KotaDB({ url: 'http://localhost:8080' });
// Type-safe document construction (runtime validation)
const docId = await db.insertWithBuilder(
new DocumentBuilder()
.path("/knowledge/typescript-patterns.md")
.title("TypeScript Design Patterns")
.content("# TypeScript Patterns\n\n...")
.addTag("typescript")
.addTag("patterns")
);
// Query with builder pattern and full IntelliSense support
const results = await db.queryWithBuilder(
new QueryBuilder()
.text("design patterns")
.limit(10)
.tagFilter("typescript")
);
Natural, intuitive queries designed for human-AI interaction:
// Natural language
"meetings about rust programming last week"
// Structured precision
{
type: "semantic",
query: "distributed systems",
filter: { tags: { $contains: "architecture" } },
limit: 10
}
// Graph traversal
GRAPH {
start: "projects/kota-ai/README.md",
follow: ["related", "references"],
depth: 2
}
Architecture โข API Reference โข Development Guide โข Agent Guide
pip install kotadb-client
npm install kotadb-client
# or
yarn add kotadb-client
# Go client is currently under development
# See https://github.com/jayminwest/kota-db/issues/114
# Will be available at: github.com/jayminwest/kota-db/clients/go
cargo install kotadb
# or from source:
cargo install --path .
kotadb serve # Start HTTP server
kotadb insert /path "Title" "Content" # Insert document
kotadb search "query" # Search documents
[dependencies]
kotadb = "0.3.0"
# or from git:
kotadb = { git = "https://github.com/jayminwest/kota-db" }
# Using pre-built image (recommended)
docker pull ghcr.io/jayminwest/kota-db:latest
docker run -p 8080:8080 ghcr.io/jayminwest/kota-db:latest serve
# Or build from source
docker build -t kotadb .
docker run -p 8080:8080 kotadb serve
| Feature | Rust | Python | TypeScript | Go |
|---|---|---|---|---|
| Basic Operations | ||||
| Document CRUD | โ | โ | โ | โ |
| Text Search | โ | โ | โ | โ |
| Semantic Search | โ | โ | โ | โ |
| Hybrid Search | โ | โ | โ | โ |
| Type Safety | ||||
| Validated Types | โ | โ | โ | โ |
| Builder Patterns | โ | โ | โ | โ |
| Advanced Features | ||||
| Query Routing | โ | โ* | โ* | โ* |
| Graph Queries | ๐ง | โ | โ | โ |
| Direct Storage Access | โ | โ | โ | โ |
| Observability/Tracing | โ | โ | โ | โ |
| Development | ||||
| Connection Pooling | โ | โ | โ | โ |
| Retry Logic | โ | โ | โ | โ |
| Error Handling | โ | โ | โ | โ |
Legend: โ Complete โข ๐ง In Progress โข โ Not Available
*Query routing happens automatically on the server for client libraries
| Operation | Size | Latency | Throughput |
|---|---|---|---|
| BTree Insert | 100 | 15.8 ยตs | 63,300 ops/sec |
| BTree Insert | 1,000 | 325 ยตs | 3,080 ops/sec |
| BTree Insert | 10,000 | 4.77 ms | 210 ops/sec |
| BTree Search | 100 | 2.08 ยตs | 482,000 queries/sec |
| BTree Search | 1,000 | 33.2 ยตs | 30,100 queries/sec |
| BTree Search | 10,000 | 546 ยตs | 1,830 queries/sec |
| Bulk Operations | 1,000 | 25.4 ms | 39,400 ops/sec |
| Bulk Operations | 5,000 | 23.7 ms | 211,000 ops/sec |
This project is developed entirely by LLM agents. Human contributions follow the same process:
See AGENT.md for the agent collaboration protocol.
MIT - See LICENSE for details.
Built for KOTA โข Inspired by LevelDB, Tantivy, and FAISS
The best database is the one designed specifically for your problem.