Skip to content

Releases: eminsk/nanovector

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

Choose a tag to compare

@eminsk eminsk released this 11 Sep 13:26

⚡ 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

v0.1.2: Interactive Google Colab Support & Python 3.9 Compatibility

Choose a tag to compare

@eminsk eminsk released this 10 Sep 23:24

⚡ NanoVector v0.1.2 — Interactive Google Colab Support & Python 3.9 Compatibility

What's New in v0.1.2

  • Interactive Google Colab Quickstart: One-click launchable notebook (notebooks/nanovector_quickstart.ipynb) showcasing semantic episodic memory, zero-copy batch ingestion, and live CPU microsecond benchmarks in the browser.
  • Python 3.9 Backwards Compatibility: Fixed dataclass(slots=True) support for Python 3.9 runners while keeping native zero-overhead slots on Python 3.10+.
  • Universal CI Matrix (100% Green): Verified across 18 jobs on Linux, Windows, macOS from Python 3.9 to 3.14.
  • Precompiled Wheels: Windows AMD64 binary wheels and source distributions published on PyPI.

Installation

pip install --upgrade nanovector

v0.1.1: Automatic NumPy Dependency & Episodic Brain Persistence

Choose a tag to compare

@eminsk eminsk released this 10 Sep 23:07

⚡ NanoVector v0.1.1 — Automatic NumPy Dependency & Persistence Enhancements

What's New in v0.1.1

  • Automatic NumPy Dependency: pip install nanovector and uv add nanovector now automatically pull numpy>=1.20. No extra manual installation required!
  • Zero-Copy Buffer Protocol: Directly reads and queries 2D NumPy float32 arrays without intermediate memory allocations.
  • Episodic Brain Persistence: Validated and documented long-term memory pattern for autonomous AI agents.
  • Precompiled Wheels: Windows AMD64 binary wheels published on PyPI.

Installation

pip install --upgrade nanovector

v0.1.0: Bare-Metal SIMD Vector Search & AI Agent Memory

Choose a tag to compare

@eminsk eminsk released this 10 Sep 22:57

⚡ NanoVector v0.1.0 — Initial Official Release

The SQLite of Vector Search & Episodic Memory for AI Agents in ~120KB.

Key Highlights

  • Zero External Dependencies: Self-contained C99 extension, no PyTorch, no SciPy, no heavy C++ runtimes.
  • AVX2 + FMA SIMD Kernel: Unrolled 4x across 32 floats per iteration on x86_64.
  • Pure FASM x64 Assembly Kernel: Standalone hand-crafted assembly kernel adhering strictly to Microsoft x64 ABI.
  • ARM NEON Kernel: 128-bit FMA vectorization for Apple Silicon (M1/M2/M3/M4) and AWS Graviton.
  • In-Place Top-K Heap: O(N log K) min-heap / max-heap with branch-predicted pruning.
  • Single-File Binary Persistence (.nvec): Instant serialization and deserialization with 64-byte aligned header.
  • Python Buffer Protocol: Direct Zero-Copy ingestion and search from 1D/2D numpy.ndarray.
  • Concurrency: GIL released during searches (Py_BEGIN_ALLOW_THREADS) achieving 14,300+ QPS across 8 threads.

Installation

pip install nanovector