Releases: eminsk/nanovector
Releases · eminsk/nanovector
Release list
v0.1.3: Drop-In LangChain VectorStore & Expressive Metadata Filtering
⚡ 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 nanovectorv0.1.2: Interactive Google Colab Support & Python 3.9 Compatibility
⚡ 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 nanovectorv0.1.1: Automatic NumPy Dependency & Episodic Brain Persistence
⚡ NanoVector v0.1.1 — Automatic NumPy Dependency & Persistence Enhancements
What's New in v0.1.1
- Automatic NumPy Dependency:
pip install nanovectoranduv add nanovectornow automatically pullnumpy>=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 nanovectorv0.1.0: Bare-Metal SIMD Vector Search & AI Agent Memory
⚡ 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