Catalogue/Dev tools/VectLite

VectLite

An embedded vector database, in a single file.

A single-file vector database written in Rust. Dense and sparse hybrid search, HNSW indexing, MongoDB-style filters, transactions and crash-safe persistence. All in a portable .vdb file: no server, no Docker, no network calls.

v0.1.11Version
RustCore
Python · Node.jsBindings
MITLicense
Inside this edition

Vector search, without a server.

No.01

Hybrid search

Dense vectors with HNSW and a BM25 keyword index, fused with linear combination or RRF.

No.02

Single-file storage

Everything in one portable .vdb file. Crash-safe WAL, file locking, snapshots and backup.

No.03

Rich metadata filters

MongoDB-style operators ($eq, $gt, $in, $contains, $exists) with nested field access.

No.04

Multi-language

Native Rust core with Python (PyO3) and Node.js (napi-rs) bindings. One install.

Why VectLite?

Modern vector databases are built as distributed servers: Pinecone, Weaviate, Qdrant. That is the right answer at scale, but unnecessary overhead for a local app, a demo, an edge tool or an agent running on the user's machine.

VectLite borrows the SQLite model and applies it to vectors: one library, one file, zero servers. Written in Rust for performance and safety, with hybrid search, ACID transactions, crash-safe persistence and Python and Node.js bindings. The vector database that fits inside your app.

In brief
What is VectLite?

VectLite is an embedded, single-file vector database written in Rust. It runs in-process inside a Python or Node.js application, with no server and no Docker. It combines dense HNSW search and sparse BM25 search, MongoDB-style filters, ACID transactions and crash-safe persistence, all in a portable .vdb file. MIT licensed.

Frequently asked

Everything people ask us.

Is VectLite an alternative to Pinecone, Weaviate or Chroma?
Yes. VectLite is a single-file embedded vector database on the SQLite model, written in Rust. Unlike Pinecone, Weaviate or Qdrant, which are distributed servers, VectLite runs in-process inside your Python or Node.js app, perfect for local-first and edge use cases.
Does VectLite support hybrid search?
Yes. VectLite combines a dense HNSW index and a BM25 sparse index for hybrid search, with MongoDB-style metadata filters.
What is the difference between VectLite and FAISS?
FAISS is a pure indexing library, with no persistence or transactions. VectLite adds crash-safe persistence, ACID transactions, MongoDB filters and ready-to-use Python and Node.js bindings, in a single install.

Embed vector search.

Open source, MIT licensed. Available on PyPI and npm, a single install.

In brief

What is VectLite and how does it work?

VectLite is an embedded vector database written in Rust, designed on the SQLite model: a single file on disk, no server to deploy, direct execution in the application process. It exposes official bindings for Python and Node.js, allowing integration into a web app, AI agent, or RAG (Retrieval-Augmented Generation) script in fewer than 5 lines of code. VectLite combines 2 indexes in the same file: a dense HNSW (Hierarchical Navigable Small World) index for semantic embedding searches, and a sparse BM25 index for keyword searches. A hybrid query weighs both scores via Reciprocal Rank Fusion (RRF) and returns results in under 5 milliseconds for 100,000 vectors on commodity hardware.

Why choose VectLite over Pinecone or Chroma?

Pinecone, Weaviate, Qdrant, and Milvus are server-based vector databases, designed for distributed workloads of several million vectors and priced between $70 and $500 per month for the smallest tiers. VectLite targets a different use case: local-first applications, edge computing, RAG embedded in a desktop or mobile app, or prototypes where a hosted service is disproportionate. Typical VectLite database sizes range from 1,000 to 1 million vectors at 768 or 1,536 dimensions — the majority of individual and small-team use cases. VectLite supports ACID transactions, crash-safe persistence via write-ahead logging, and MongoDB-style metadata filters. The library is distributed under the MIT license, is free, and includes no telemetry.

Frequently asked questions

Is VectLite an alternative to Pinecone, Weaviate or Chroma?

Yes. VectLite is a single-file embedded vector database (SQLite-style) written in Rust. Unlike Pinecone, Weaviate or Qdrant — which are distributed servers — VectLite runs in-process inside your Python or Node.js app, perfect for local-first and edge use cases.

Does VectLite support hybrid search?

Yes. VectLite combines a dense HNSW index and a BM25 sparse index for hybrid search, with MongoDB-style metadata filters.

What's the difference between VectLite and FAISS?

FAISS is a pure indexing library — no persistence, no transactions. VectLite adds crash-safe persistence, ACID transactions, MongoDB filters and ready-to-use Python/Node.js bindings in a single install.