An embedded vector database in Rust with Python bindings — delivering 10× compression, sub-millisecond search, and zero training time.
pip install tqdb
Built for teams running large embedding datasets on real hardware budgets.
Quantize and search from the first insert. No offline phase, no index rebuild.
Store 1M 1536-dim embeddings in ~600 MB instead of 6 GB with 2-bit compression.
Random rotation + residual sketch keep inner product rankings unbiased after compression.
MongoDB-style filters — $eq, $gt, $in, $contains — applied at query time.
Swap ChromaDB or LanceDB with zero code changes. First-class LangChain support.
HNSW + AVX2/SIMD. In-process — no network hops, no serialization overhead.
No daemon, no Docker, no config files.
Just pip install tqdb and write Python.
from tqdb import Database
import numpy as np
db = Database.open("./my_db", dimension=1536)
db.insert("doc-1",
np.random.randn(1536).astype("f4"),
metadata={"topic": "ml", "year": 2026},
document="Machine learning intro"
)
results = db.search(
np.random.randn(1536).astype("f4"),
top_k=5,
filter={"year": {"$gte": 2026}}
)
for r in results:
print(r["id"], r["score"], r["document"])
Embedded library, HTTP server, or drop-in replacement — pick your integration style.
Spin up a full HTTP service with multi-tenancy, RBAC, per-tenant quotas, and Prometheus metrics. Designed for teams that need centralized vector search without the overhead of a heavyweight database.
# Start the server
tqdb-server --port 8080 \
--data-dir ./data
# Create a collection
curl -X POST localhost:8080/collections \
-d '{"name":"docs","dim":1536}'
# Insert vectors
curl -X POST localhost:8080/collections/docs/upsert \
-d '{"id":"a1","vector":[...]}'
Drop-in TurboQuantRetriever for any LangChain pipeline. Zero boilerplate.
Replace ChromaDB with zero code changes using the chroma_compat shim.
Use as a backend replacement for LanceDB with native PyArrow table ingestion.