skillfed

nano-vectordb

A simple, easy-to-hack Vector Database implementation

nano-vectordb v0.0.4.3 317.0K downloads/30d#7,671 on PyPI206
Permissive license AGING released

What it is and what it does

nano-vectordb is a minimal vector database implementation written in pure Python with only numpy as a dependency. It stores embeddings alongside arbitrary metadata fields and supports similarity search via vector queries, filtering by custom predicates, and optional multi-tenancy for managing multiple independent vector stores. Data persists to JSON files and reloads automatically on initialization.

The package is explicitly positioned for prototyping and small-scale use. The description notes it can query 100,000 vectors in roughly 0.1 seconds and handle insertion of 100,000 vectors in roughly 2 seconds on a MacBook M3 Pro. It is straightforward to understand and modify, making it suitable for learning or rapid iteration, though the aging maintenance status and lack of active development suggest it is not intended as a production vector database replacement.

Use it for:

  • Rapid prototyping of embedding-based search or recommendation features without external database infrastructure.
  • Small-scale semantic search applications where query latency under 100ms and dataset size under 100,000 vectors is acceptable.
  • Educational projects or proof-of-concepts exploring vector similarity and embedding workflows.
  • Multi-tenant prototypes where each tenant needs an isolated vector store managed in a single Python process.
  • Local development and testing of embedding pipelines before migrating to a production vector database.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A lightweight vector database that stores and queries embeddings with a single numpy dependency, designed for prototyping and small-to-medium workloads.

Yes, for prototyping and learning. The low install friction, single dependency, and straightforward API make it ideal for quickly exploring vector search workflows. However, do not use for production systems: the aging maintenance status (last commit 2026-01-09, first release 2024-08-19), lack of active development, and positioning as 'okay for prototypes, maybe even more' signal limited long-term support. Choose a mature vector database (Weaviate, Pinecone, Milvus) for production workloads.

Install

nano-vectordb on PyPI

pip

pip install nano-vectordb

uv

uv add nano-vectordb

poetry

poetry add nano-vectordb

Installing nano-vectordb

Before you install

Installation is straightforward with low friction—a pure Python wheel with only numpy as a runtime dependency. The project shows aging maintenance (last commit 2026-01-09, first release 2024-08-19) but remains active and archived=false, suitable for prototypes rather than production systems requiring active support.

License in practice

Licensed under MIT (permissive), allowing commercial and private use with minimal restrictions—no compliance burden for most use cases.

Quickstart

pip install nano-vectordb

from nano_vectordb import NanoVectorDB
import numpy as np

vdb = NanoVectorDB(1024, storage_file="vectors.json")
data = [{"__vector__": np.random.rand(1024), "id": i} for i in range(100)]
vdb.upsert(data)
results = vdb.query(np.random.rand(1024), top_k=5)

Requires Python >=3.9; embedding vectors must be numpy arrays with consistent dimensionality.

Verify before relying

  • Performance characteristics beyond the single benchmark (100,000 vectors, 1024 dims, ~0.1s query) on different hardware or vector sizes.
  • Scalability limits and behavior when storage file or in-memory index grows beyond typical prototyping scale.
  • Multi-tenancy feature maturity and production readiness given aging maintenance status.

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 1 — numpy
Maintenance aging — 641 days since the last release
Last repo commit
First released
Downloads 316,993/month — #7,671 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: nano_vectordb-0.0.4.3-py3-none-any.whl

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

vector database pythonembedding search libraryin-memory vector storesimilarity search vectorslightweight vector dbnumpy-based vector searchprototyping vector database
vector-searchembeddingsprototyping

More Database packages