chromadb
Chroma.
What it is and what it does
Chroma is a vector database designed to store and search document embeddings with built-in support for metadata filtering and full-text search. It provides a simple four-function API for creating collections, adding documents with automatic tokenization and embedding, and querying by semantic similarity. The package handles the infrastructure layer for AI applications that need to retrieve contextually relevant documents.
The library supports both in-memory prototyping and persistent storage modes, with a client-server architecture available via the command line. It depends on 28 runtime packages including pydantic, onnxruntime, grpcio, and opentelemetry. The project is actively maintained with regular releases and 29058 GitHub stars, though the substantial dependency footprint and two known vulnerabilities warrant attention before production deployment.
Use it for:
- Build retrieval-augmented generation systems that fetch relevant documents to augment prompts.
- Implement semantic search over document collections with metadata-based filtering.
- Prototype vector search applications locally before scaling to a hosted service.
- Store and query embeddings from custom embedding models with optional full-text search.
- Add similarity-based recommendation or deduplication logic to data pipelines.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Chroma is a vector database and search infrastructure that stores, indexes, and queries document embeddings with optional metadata filtering and full-text search capabilities.
Yes, with conditions. Chroma is worth installing for vector search applications where you need a managed embedding store with a simple API. Active maintenance, permissive license, and top-5000 popularity are strong signals. However, 28 runtime dependencies create medium install friction, and two known vulnerabilities (GHSA-f4j7-r4q5-qw2c, PYSEC-2026-311) require review before production use. For prototyping, install freely; for production, verify vulnerability impact and assess dependency footprint.
Install
chromadb on PyPI
pip
pip install chromadbuv
uv add chromadbpoetry
poetry add chromadbInstalling chromadb
Before you install
Medium install friction due to 28 runtime dependencies including onnxruntime, grpcio, and opentelemetry packages. Active maintenance with recent commits and regular Monday releases; last release was 101 days ago. Requires Python 3.9 or later.
License in practice
Apache 2.0 permissive license allows commercial use, modification, and distribution with minimal restrictions—suitable for most production and proprietary projects.
Quickstart
pip install chromadb
import chromadb
client = chromadb.Client()
collection = client.create_collection("my-docs")
collection.add(documents=["doc1", "doc2"], ids=["id1", "id2"])
results = collection.query(query_texts=["search query"], n_results=2)
Requires Python 3.9 or later; onnxruntime and grpcio dependencies may require system libraries on some platforms.
Verify before relying
- Whether the 28 runtime dependencies create significant bloat or startup-time overhead in typical usage patterns.
- Performance characteristics and scalability limits for in-memory versus persistent/server modes.
- Details on the two known security vulnerabilities (GHSA-f4j7-r4q5-qw2c, PYSEC-2026-311) and their impact.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 28 — build, pydantic, pydantic-settings, pybase64, uvicorn, numpy, typing-extensions, onnxruntime, opentelemetry-api, opentelemetry-exporter-otlp-proto-grpc, opentelemetry-sdk, tokenizers, pypika, tqdm, overrides, importlib-resources, graphlib-backport, grpcio, bcrypt, typer, kubernetes, tenacity, pyyaml, mmh3, orjson, httpx, rich, jsonschema |
| Maintenance | actively maintained — 101 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 13,265,337/month — #1,290 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | 2 — GHSA-f4j7-r4q5-qw2c, PYSEC-2026-311 |
Evidence: chromadb-1.5.9-cp39-abi3-macosx_10_12_x86_64.whl; chromadb-1.5.9-cp39-abi3-macosx_11_0_arm64.whl; chromadb-1.5.9-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; chromadb-1.5.9-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; chromadb-1.5.9-cp39-abi3-win_amd64.whl
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
chroma-mcpChroma MCP Server bridges Chroma's vector…
permissive · top 15,000 on PyPI
chromadb-clientHTTP client library for connecting to a Chroma…
permissive · top 15,000 on PyPI
langchain-chromaConnects LangChain applications to Chroma, a…
permissive · top 5,000 on PyPI
llama-index-vector-stores-chromaIntegrates Chroma vector database with…
permissive · top 15,000 on PyPI
opentelemetry-instrumentation-chromadbAdds distributed tracing to Chroma vector…
permissive · top 5,000 on PyPI
deeplakeDeep Lake is a serverless database for storing,…
unclear · top 15,000 on PyPI
llama-index-vector-stores-qdrantIntegrates Qdrant vector database with…
permissive · top 15,000 on PyPI
redisvlRedisVL is a Python client for building AI…
permissive · top 5,000 on PyPI
sqlite-vecsqlite-vec adds vector search capabilities to…
permissive · top 5,000 on PyPI
nucliadb-utilsProvides utility functions and data structures…
permissive · top 15,000 on PyPI