Embeddable vector database for Rust and Python. HNSW indexing, metadata filtering, hybrid search, and snapshots. The SQLite of vector search.
  • Rust 96.8%
  • Python 2.4%
  • HTML 0.3%
  • TypeScript 0.2%
  • Shell 0.2%
  • Other 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-04-13 10:54:29 +02:00
benches Refactor random number generation in vector sampling 2026-03-22 20:59:23 +01:00
docs change docs 2026-03-22 17:41:30 +01:00
examples Massage code 2026-03-22 03:23:46 +01:00
flatpak Updated Docs. 2025-10-21 11:56:36 -04:00
Formula Updated Docs. 2025-10-21 11:56:36 -04:00
integrations/python Release v0.1.0: Production-ready with ecosystem expansion 2025-12-26 19:51:38 -05:00
npm Release v0.1.0: Production-ready with ecosystem expansion 2025-12-26 19:51:38 -05:00
observability Remove obsolete files and workflows 2026-03-22 21:02:36 +01:00
proto VecStore v1.0.0 - The Vector Intelligence Platform 2025-10-20 20:49:14 -04:00
python Add built-in embedding support via sentence-transformers 2025-12-26 10:24:40 -05:00
scoop Updated Docs. 2025-10-21 11:56:36 -04:00
scripts Updated Docs. 2025-10-21 11:56:36 -04:00
snap Updated Docs. 2025-10-21 11:56:36 -04:00
src chore: sync dependencies (monorepo) 2026-04-03 11:08:45 +02:00
templates Massage code 2026-03-22 03:23:46 +01:00
tests Massage code 2026-03-22 03:23:46 +01:00
vecstore-eval chore: sync dependencies (monorepo) 2026-04-13 10:54:29 +02:00
vecstore-loaders chore: sync dependencies (monorepo) 2026-04-02 19:50:42 +02:00
wasm-pkg Release v0.1.0: Production-ready with ecosystem expansion 2025-12-26 19:51:38 -05:00
.gitignore chore: Add Cargo.lock for reproducible builds 2025-10-20 21:50:17 -04:00
build.rs Fix server build with tonic 0.14 and axum 0.8 2025-10-20 22:09:50 -04:00
Cargo.lock chore: sync dependencies (monorepo) 2026-04-02 02:23:31 +02:00
Cargo.toml chore: sync dependencies (monorepo) 2026-04-13 10:54:29 +02:00
LICENSE Convert to Apache 2.0 license and fix durability/HNSW gaps 2025-12-25 21:59:21 -05:00
MANIFEST.in VecStore v1.0.0 - The Vector Intelligence Platform 2025-10-20 20:49:14 -04:00
pyproject.toml Add built-in embedding support via sentence-transformers 2025-12-26 10:24:40 -05:00
README.md Add LangChain integration, quantization API, and WASM improvements 2025-12-26 10:09:44 -05:00
rust-toolchain.toml yep 2026-04-01 13:56:17 +02:00

VecStore

The SQLite of vector search. Embed semantic search directly in your app—no server required.

Crate npm PyPI License: Apache 2.0


Why VecStore?

Feature VecStore Pinecone/Weaviate FAISS
Runs in browser Yes No No
No server needed Yes No Yes
Hybrid search Yes Yes No
Metadata filtering Yes Yes No
Python + Rust + JS Yes Partial Python only

Quick Start

Rust

[dependencies]
vecstore = "0.0.1"
use vecstore::VecStore;

let mut store = VecStore::open("vectors.db")?;

// Insert vectors with metadata
store.upsert("doc1", vec![0.1, 0.2, 0.3], json!({"title": "Hello"}))?;

// Semantic search
let results = store.query(&vec![0.1, 0.2, 0.3], 10)?;

// Filtered search
let results = store.query_with_filter(&query_vec, 10, "category = 'tech'")?;

Python

pip install vecstore-rs
import vecstore

store = vecstore.VecStore("vectors.db")
store.upsert("doc1", [0.1, 0.2, 0.3], {"title": "Hello"})
results = store.query([0.1, 0.2, 0.3], k=10)

JavaScript (Browser)

npm install vecstore-wasm
import init, { WasmVecStore } from 'vecstore-wasm';

await init();
const store = new WasmVecStore(384);

store.upsert("doc1", new Float32Array([...]), { title: "Hello" });
const results = store.query(queryVector, 10);

Features

Core

  • HNSW Index - Sub-millisecond search on 100K+ vectors
  • 9 Distance Metrics - Cosine, Euclidean, Dot Product, Manhattan, Hamming, Jaccard, and more
  • Metadata Filtering - SQL-like expressions: category = 'tech' AND score > 0.5
  • Hybrid Search - Combine vector similarity with BM25 keyword matching
  • Snapshots - Point-in-time backups and restore

Browser-First

  • WASM Support - Full vector search in the browser, no backend
  • Offline-Capable - Works without network connection
  • Privacy-First - Data never leaves the user's device
  • Sub-ms Latency - 0.2ms search on 100K vectors

Production

  • Batch Operations - Parallel ingestion for large datasets
  • Soft Delete + TTL - Flexible data lifecycle management
  • Write-Ahead Log - Crash recovery with wal_enabled: true
  • gRPC + HTTP Server - Optional server mode for multi-client access

Use Cases

  1. Local RAG - Semantic search for LLM context retrieval
  2. Browser Search - Privacy-first document search (legal, medical, financial)
  3. Offline Apps - Mobile/desktop apps with embedded search
  4. Prototyping - Test semantic search ideas without infrastructure
  5. Edge Computing - IoT devices with local vector search

Performance

Dataset Search Latency Memory
10K vectors (384d) 0.3ms ~20MB
100K vectors (384d) 0.2ms ~180MB
1M vectors (128d) 0.2ms ~200MB

Documentation


Roadmap

Shipping Now

  • HNSW with 9 distance metrics
  • Metadata filtering
  • Hybrid search (vector + BM25)
  • Python bindings
  • WASM/browser support
  • Snapshots

Coming Soon

  • LangChain/LlamaIndex integration
  • Product Quantization (8-32x memory reduction)
  • GPU acceleration

Alpha Notice

VecStore is in active development (0.0.x). APIs and file formats may change. Not recommended for production workloads with data you can't regenerate.


Contributing

We welcome contributions! See CONTRIBUTING.md.

High-impact areas:

  1. LangChain/LlamaIndex Python wrappers
  2. Browser demo applications
  3. Performance benchmarks

License

Apache 2.0 - see LICENSE.