Skip to content

v0.1.3: Drop-In LangChain VectorStore & Expressive Metadata Filtering

Latest

Choose a tag to compare

@eminsk eminsk released this 11 Sep 13:26
· 4 commits to main since this release

⚡ 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(...) and Index.add_batch(...).
  • Match.meta Property: 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