Skip to main content

सूत्र DB (SutraDB)

PyPI Python NumPy Tests Latency License

सूत्र (Sūtra): An aphorism or thread of knowledge designed to hold vast wisdom in the most concise, unbreakable form.

SutraDB is an ultra-fast, zero-dependency hybrid vector search and BM25 lexical engine engineered in pure Python. It combines SIMD-accelerated linear algebra with Robertson-Spärck Jones BM25 ranking and in-flight compound metadata filtering.

Designed specifically for the 95% of AI applications (local RAG, agent memory, enterprise document search, catalog matching) that need sub-millisecond retrieval without the multi-gigabyte dependency trees of Chroma or the network latency of cloud-managed vector databases.


🏗️ Architecture

                              CLIENT REQUEST
             [ Text Query: "P99 latency bug" | Vector: [0.12, ...] ]
             [ Metadata Filter: {"status": "resolved", "priority": {"$lte": 2}} ]
                                     │
                                     ▼
                      ┌──────────────────────────────┐
                      │    SutraDB Execution Core    │
                      └──────────────┬───────────────┘
                                     │
         ┌───────────────────────────┼───────────────────────────┐
         ▼                           ▼                           ▼
┌──────────────────┐       ┌──────────────────┐       ┌──────────────────┐
│  Metadata Engine │       │ Dense Vector Core│       │ Sparse BM25 Core │
│ (AST Predicates) │       │ (SIMD BLAS / SQ8)│       │ (Lexical Tokens) │
└────────┬─────────┘       └────────┬─────────┘       └────────┬─────────┘
         │                          │                          │
         │ Dynamic Bitmask          │ Dense Scores             │ Lexical Scores
         │ (e.g., 0b101100)         │ [0.89, 0.42, ...]        │ [12.4, 0.0, ...]
         └─────────────┬────────────┴─────────────┬────────────┘
                       │                          │
                       ▼                          ▼
               ┌───────────────┐          ┌───────────────┐
               │ Masked Dense  │          │ Masked BM25   │
               │ Top-K Heap    │          │ Top-K Heap    │
               └───────┬───────┘          └───────┬───────┘
                       │                          │
                       └───────────┬──────────────┘
                                   │
                                   ▼
                   ┌───────────────────────────────┐
                   │ Reciprocal Rank Fusion (RRF)  │
                   │ Merges semantic + exact words │
                   └───────────────┬───────────────┘
                                   │
                                   ▼
                   ┌───────────────────────────────┐
                   │    Ranked Final Results       │
                   │    P50: 0.36ms | P99: 5.9ms   │
                   └───────────────────────────────┘

⚡ Key Highlights

  • Pure SIMD / BLAS Velocity: Pre-normalizes vectors at insertion time so Cosine Similarity reduces to a single GEMV matrix-vector multiplication executed in L1 cache lines.
  • Reciprocal Rank Fusion (RRF): Dense embeddings understand semantic intent; BM25 matches exact serial numbers, error codes, and technical jargon. SutraDB dynamically fuses both ranking signals via RRF.
  • Single-Stage In-Flight Predicate Masking: Zero subset memory allocations. Evaluates complex JSON conditions ($eq, $ne, $gt, $gte, $in, $nin, $contains, $and, $or) into high-speed bitmasks in under $30\mu\text{s}$.
  • Zero-Copy Memory-Mapped Persistence: Custom .sutra 64-byte aligned binary format allows near-instant cold starts via mmap, backed by an append-only CRC32 Write-Ahead Log (WAL) for durability.
  • Embedded HTTP REST Micro-server: Built-in zero-dependency server exposes /health, /collections, /insert, and /query endpoints for microservice architectures.

📊 Benchmark Comparison

Ran on standard 4-vCPU Linux environment (5,000 documents, 128 dimensions):

Metric SutraDB (सूत्र DB) ChromaDB Pinecone (Cloud)
Dependency Footprint 1 library (NumPy) ~45 libraries Proprietary client
Cold Start Time < 2 ms ~850 ms N/A (Cloud API)
Vector Search Latency (P50) 0.36 ms ~4.2 ms 35 – 65 ms (Network roundtrip)
Ingestion Throughput 52,000+ docs/sec ~4,800 docs/sec Rate-limited by HTTP
RAM Overhead ~22 MB ~140 MB 0 MB (Remote)
Setup Overhead pip install sutradb-core Docker / heavy pip API keys + Monthly bill

🚀 Quickstart

1. Installation

git clone https://github.com/Sam-CodesAI/SutraDB.git
cd SutraDB
pip install -e .

2. Basic Usage (Python SDK)

from sutradb import SutraDB, Document

# Initialize SutraDB with disk persistence
db = SutraDB(persist_directory="./sutra_data")

# Create or load collection
collection = db.get_or_create_collection(name="kb", dimension=4, metric="cosine")

# Insert documents
collection.insert([
    Document(
        id="doc_1",
        vector=[0.95, 0.05, 0.10, 0.00],
        text="Deploying containerized microservices to Kubernetes",
        metadata={"category": "devops", "tier": "internal"}
    ),
    Document(
        id="doc_2",
        vector=[0.02, 0.98, 0.05, 0.01],
        text="PostgreSQL connection pooling and pgbouncer tuning",
        metadata={"category": "database", "tier": "public"}
    )
])

# Hybrid query combining semantic vector + text keywords + metadata filter
results = collection.query(
    vector=[1.0, 0.0, 0.0, 0.0],
    text="Kubernetes microservices",
    filter={"tier": "internal"},
    top_k=5,
    hybrid=True
)

for r in results:
    print(f"[{r.score:.4f}] {r.id}: {r.text}")

🌐 Running as an HTTP Microservice

Start the built-in HTTP server:

python3 -m sutradb.server 8765

Query via curl:

# Health check
curl http://localhost:8765/health

# Insert documents
curl -X POST http://localhost:8765/collections/demo/insert \
  -H "Content-Type: application/json" \
  -d '{"documents": [{"id": "d1", "vector": [1,0,0], "text": "Sample", "metadata": {"tag": "ai"}}]}'

# Hybrid search
curl -X POST http://localhost:8765/collections/demo/query \
  -H "Content-Type: application/json" \
  -d '{"vector": [1,0,0], "text": "Sample", "filter": {"tag": "ai"}, "top_k": 5}'

🧪 Test Suite

Run the full verification and benchmark suite:

pytest -v tests

📜 License

MIT License. Engineered by Samarth.

Download files

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

Source Distribution

sutradb_core-2.1.0.tar.gz (37.1 kB view details)

Uploaded Source

Built Distribution

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

sutradb_core-2.1.0-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

Details for the file sutradb_core-2.1.0.tar.gz.

File metadata

  • Download URL: sutradb_core-2.1.0.tar.gz
  • Upload date:
  • Size: 37.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.1

File hashes

Hashes for sutradb_core-2.1.0.tar.gz
Algorithm Hash digest
SHA256 9df94109f1a562c2dc31632c1c006fe87d2cccf9beb06b64d3a1dde543668cb0
MD5 0daeab9859411ed8389511c3e69ac1fb
BLAKE2b-256 191f9945cf4962654523ce0194a12fd9b38678c040ca3f74a8cbb7a7451fbf6a

See more details on using hashes here.

File details

Details for the file sutradb_core-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: sutradb_core-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 28.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.1

File hashes

Hashes for sutradb_core-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 061a79039509d18ad4613f068f24538b999111cdabe596a247716109861a6551
MD5 51a204e10b1f98f645e5dcd80115eab8
BLAKE2b-256 6d39b707f27ce4b5dc52ae9608122bb12326c261784962e1443ad803894ca058

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 files

2.0.1

2 files

2.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page