⚡ NanoVector v0.1.3 — Drop-In LangChain VectorStore & Expressive Metadata Filtering
Minimalist, bare-metal SIMD-accelerated vector search and episodic memory engine for AI agents in ~120KB with zero dependencies.
🚀 What's New in v0.1.3
1. 🦜 Drop-In LangChain Integration (NanoVectorStore)
- 1-Line Replacement for ChromaDB & FAISS: Seamlessly use NanoVector inside any LangChain LCEL chain or autonomous agent architecture:
from nanovector import NanoVectorStore vectorstore = NanoVectorStore.from_texts(texts, embedding=embeddings) docs = vectorstore.similarity_search("query", k=5) retriever = vectorstore.as_retriever()
- Instant Cold Starts: Under 1 ms cold import time (vs ~1,850 ms for ChromaDB).
- Zero External Dependencies: No heavy transitives, no PyTorch or Pydantic requirement.
2. 🔍 Expressive Metadata Filtering
- Rich Query Operators: Support for dictionary equality, operators (
$eq,$ne,$in,$nin,$gt,$gte,$lt,$lte), list membership, and custom predicate callables:matches = index.search(query, top_k=5, filter={ "category": {"$in": ["ai", "systems"]}, "views": {"$gte": 500}, "archived": {"$ne": True} })
- Automatic JSON Serialization: Pass native Python dictionaries directly to
Index.add(...)andIndex.add_batch(...). Match.metaProperty: Access parsed JSON metadata directly as a Python dictionary on retrieved results.
3. 🧪 Comprehensive Test Matrix & Cross-Platform Builds
- 17 unit tests covering filtering, LangChain methods, persistence, and multi-threading concurrency.
- 100% Green CI across 18 matrix combinations (Linux, Windows, macOS on Python 3.9 through 3.14).
- Pre-compiled binary wheels available for Windows (x86_64, win32), Linux (manylinux, musllinux), and macOS (Apple Silicon ARM64).
⚡ Installation
pip install --upgrade nanovector