$npx skillfedfor your agent

nano-vectordb

A simple, easy-to-hack Vector Database implementation

Worth itPyPI DatabaseReleased Nov 2024317.0K downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — nano_vectordb-0.0.4.3-py3-none-any.whl
v0.0.4.3 · released 2024-11-11 · Python >=3.9 · 1 runtime deps: numpy

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.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python >=3.9; embedding vectors must be numpy arrays with consistent dimensionality.
  • 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 · maintenance · safety

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

last release 2024-11-11 (641 days) · last repo commit 2026-01-09 · 206 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 316,993 downloads/mo, #7,671 on PyPI

Verify before relying

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)
  • 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.
Same gist for agents: .md · .json

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 on it.

Worth it

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

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.

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

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)

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

Licensepermissive license permissive
Python supportSupports the current Python release >=3.9
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
numpy
MaintenanceAging 641 days since the last release
Last repo commit
First released
Downloads316,993 / month, #7,671 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

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

Tags

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

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “in-memory vector store”

Give your agent the search over MCP, or paste the wish link into any chat.

More Database packages

psycopg2-binary Worth it
PyPI · Software Development · released Apr 2026

psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.

copyleftcompiled wheel · 3.9+
271.6Mdownloads / mo
redis Worth it
PyPI · Database · released Jul 2026

Python client library for connecting to and executing commands against Redis key-value stores, supporting both synchronous and asynchronous operations.

Install it if your application needs to interact with Redis; the only prerequisite is a running Redis server instance.

MITpure Python · 3.10+
268.3Mdownloads / mo
ydb Worth it
PyPI · Database · released Jul 2026

YDB Python SDK is the official client library for connecting to and querying YDB databases from Python applications.

Install it if you need to connect Python applications to YDB databases.

permissive licensepure Python · 3.10+
210.0Mdownloads / mo
snowflake-connector-python Worth it
PyPI · Software Development · released Aug 2026

Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.

Apache-2.0compiled wheel · 3.10+
193.6Mdownloads / mo
sqlparse Worth it
PyPI · Software Development · released Aug 2026

sqlparse tokenizes SQL text into a tree of statements, clauses, and expressions, and provides functions to split scripts, format queries, and inspect parsed tokens without validating dialect or syntax.

Install it if you need to manipulate, format, or analyze SQL text programmatically.

BSD-3-Clausepure Python · 3.10+
148.9Mdownloads / mo
dbt-adapters With conditions
PyPI · Database · released Jul 2026

Provides base adapter protocols and shared functionality that database adapters use to integrate with dbt-core, handling connections, dialect translation, relation caching, and core interface management.

Apache-2.0pure Python · 3.10.0+
121.3Mdownloads / mo

See also upstash-vector · pgvecto-rs · sqlite-vec · pgvector · vecs · usearch · nucliadb-utils · qdrant-client