skillfed

chromadb

Chroma.

chromadb v1.5.9 13.3M downloads/30d#1,290 on PyPI29,058
Permissive license Active released

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 chromadb

uv

uv add chromadb

poetry

poetry add chromadb

Installing 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

License :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

vector databasesemantic searchembedding storagedocument retrievalAI data infrastructuresimilarity searchvector search engine
vector-searchragembeddings

More Database packages

psycopg2-binary

psycopg2-binary is a PostgreSQL database…

copyleft · top 1,000 on PyPI

redis

Python client library for connecting to and…

permissive · top 1,000 on PyPI

ydb

YDB Python SDK is the official client library…

permissive · top 1,000 on PyPI

snowflake-connector-python

Connects Python applications to Snowflake data…

permissive · top 1,000 on PyPI

sqlparse

sqlparse tokenizes SQL text into a tree of…

permissive · top 1,000 on PyPI

dbt-adapters

Provides base adapter protocols and shared…

permissive · top 1,000 on PyPI

chroma-mcp

Chroma MCP Server bridges Chroma's vector…

permissive · top 15,000 on PyPI

chromadb-client

HTTP client library for connecting to a Chroma…

permissive · top 15,000 on PyPI

langchain-chroma

Connects LangChain applications to Chroma, a…

permissive · top 5,000 on PyPI

llama-index-vector-stores-chroma

Integrates Chroma vector database with…

permissive · top 15,000 on PyPI

opentelemetry-instrumentation-chromadb

Adds distributed tracing to Chroma vector…

permissive · top 5,000 on PyPI

deeplake

Deep Lake is a serverless database for storing,…

unclear · top 15,000 on PyPI

llama-index-vector-stores-qdrant

Integrates Qdrant vector database with…

permissive · top 15,000 on PyPI

redisvl

RedisVL is a Python client for building AI…

permissive · top 5,000 on PyPI

sqlite-vec

sqlite-vec adds vector search capabilities to…

permissive · top 5,000 on PyPI

nucliadb-utils

Provides utility functions and data structures…

permissive · top 15,000 on PyPI