# chromadb

> Chroma.

- **URL**: https://www.freshcrate.ai/projects/chromadb
- **Author**: pypi
- **Category**: Databases
- **Latest version**: `1.5.9` (2026-05-05)
- **License**: Unknown
- **Source**: https://github.com/chroma-core/chroma/issues
- **Homepage**: https://pypi.org/project/chromadb/
- **Language**: Rust
- **GitHub**: 27,560 stars, 2,205 forks
- **Registry**: pypi (`chromadb`)
- **Tags**: `pypi`

## Description

![Chroma](./docs/assets/chroma-wordmark-color.png#gh-light-mode-only)
![Chroma](./docs/assets/chroma-wordmark-white.png#gh-dark-mode-only)

<p align="center">
    <b>Chroma - the open-source data infrastructure for AI</b>. <br />
</p>

<p align="center">
  <a href="https://discord.gg/MMeYNTmh3x" target="_blank">
      <img src="https://img.shields.io/discord/1073293645303795742?cacheSeconds=3600" alt="Discord">
  </a> |
  <a href="https://github.com/chroma-core/chroma/blob/master/LICENSE" target="_blank">
      <img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License">
  </a> |
  <a href="https://docs.trychroma.com/" target="_blank">
      Docs
  </a> |
  <a href="https://www.trychroma.com/" target="_blank">
      Homepage
  </a>
</p>

```bash
pip install chromadb # python client
# for javascript, npm install chromadb!
# for client-server mode, chroma run --path /chroma_db_path
```

## Chroma Cloud

Our hosted service, Chroma Cloud, powers serverless vector, hybrid, and full-text search. It's extremely fast, cost-effective, scalable and painless. Create a DB and try it out in under 30 seconds with $5 of free credits.

[Get started with Chroma Cloud](https://trychroma.com/signup)

## API

The core API is only 4 functions (run our [💡 Google Colab](https://colab.research.google.com/drive/1QEzFyqnoFxq7LUGyP1vzR4iLt9PpCDXv?usp=sharing)):

```python
import chromadb
# setup Chroma in-memory, for easy prototyping. Can add persistence easily!
client = chromadb.Client()

# Create collection. get_collection, get_or_create_collection, delete_collection also available!
collection = client.create_collection("all-my-documents")

# Add docs to the collection. Can also update and delete. Row-based API coming soon!
collection.add(
    documents=["This is document1", "This is document2"], # we handle tokenization, embedding, and indexing automatically. You can skip that and add your own embeddings as well
    metadatas=[{"source": "notion"}, {"source": "google-docs"}], # filter on these!
    ids=["doc1", "doc2"], # unique for each doc
)

# Query/search 2 most similar results. You can also .get by id
results = collection.query(
    query_texts=["This is a query document"],
    n_results=2,
    # where={"metadata_field": "is_equal_to_this"}, # optional filter
    # where_document={"$contains":"search_string"}  # optional filter
)
```

Learn about all features on our [Docs](https://docs.trychroma.com)

## Get involved

Chroma is a rapidly developing project. We welcome PR contributors and ideas for how to improve the project.
- [Join the conversation on Discord](https://discord.com/invite/chromadb) - `#contributing` channel
- [Review the 🛣️ Roadmap and contribute your ideas](https://docs.trychroma.com/docs/overview/oss#roadmap)
- [Grab an issue and open a PR](https://github.com/chroma-core/chroma/issues) - [`Good first issue tag`](https://github.com/chroma-core/chroma/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
- [Read our contributing guide](https://docs.trychroma.com/docs/overview/oss#contributing)

**Release Cadence**
We currently release new tagged versions of the `pypi` and `npm` packages on Mondays. Hotfixes go out at any time during the week.

## License

[Apache 2.0](./LICENSE)

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `1.5.9` | 2026-05-05 | High | Version: `1.5.9` Git ref: `refs/tags/1.5.9` Build Date: `2026-05-05T05:55` PIP Package: `chroma-1.5.9.tar.gz` Github Container Registry Image: `:1.5.9` DockerHub Image: `:1.5.9`  ## What's Changed * [ENH](frontend): block functions on topology dbs by @rescrv in https://github.com/chroma-core/chroma/pull/6836 * [ENH](faults): Add Tilt fault injection CLI by @rescrv in https://github.com/chroma-core/chroma/pull/6881 * [CHORE]  Debug TimeoutError in test_add.py by @rescrv in https://github.com/chro |
| `1.5.8` | 2026-04-21 | Low | Imported from PyPI (1.5.8) |
| `1.5.7` | 2026-04-08 | Medium | Version: `1.5.7` Git ref: `refs/tags/1.5.7` Build Date: `2026-04-08T07:49` PIP Package: `chroma-1.5.7.tar.gz` Github Container Registry Image: `:1.5.7` DockerHub Image: `:1.5.7`  ## What's Changed * [CHORE] Update Rust setup for CLI workflows by @itaismith in https://github.com/chroma-core/chroma/pull/6818 * [ENH] Add getCollectionById API across all client SDKs and server by @HammadB in https://github.com/chroma-core/chroma/pull/6805 * [ENH]: Pass down shard_index, num_shards and log_upper_boun |
| `cli-1.4.3` | 2026-04-08 | Medium | CLI release. |
| `1.5.6` | 2026-04-07 | Medium | Version: `1.5.6` Git ref: `refs/tags/1.5.6` Build Date: `2026-04-07T03:01` PIP Package: `chroma-1.5.6.tar.gz` Github Container Registry Image: `:1.5.6` DockerHub Image: `:1.5.6`  ## What's Changed * [DOC] add concrete example for query/get response by @kylediaz in https://github.com/chroma-core/chroma/pull/6593 * [DOC] Make delete clearer by @kylediaz in https://github.com/chroma-core/chroma/pull/6596 * [DOC] Add multimodal example by @itaismith in https://github.com/chroma-core/chroma/pull/6622 |
| `cli-1.4.2` | 2026-04-04 | Medium | CLI release. |
| `1.5.5` | 2026-03-10 | Low | Version: `1.5.5` Git ref: `refs/tags/1.5.5` Build Date: `2026-03-10T09:30` PIP Package: `chroma-1.5.5.tar.gz` Github Container Registry Image: `:1.5.5` DockerHub Image: `:1.5.5`  ## What's Changed * [RELEASE] Rust v0.13.2 by @HammadB in https://github.com/chroma-core/chroma/pull/6583 * [ENH] Use buffer_unordered for lazy fragment fetch concurrency by @rescrv in https://github.com/chroma-core/chroma/pull/6584 * [DOC] chroma configuration reference by @kylediaz in https://github.com/chroma-core/ch |
| `1.5.3` | 2026-03-07 | Low | Version: `1.5.3` Git ref: `refs/tags/1.5.3` Build Date: `2026-03-07T19:07` PIP Package: `chroma-1.5.3.tar.gz` Github Container Registry Image: `:1.5.3` DockerHub Image: `:1.5.3`  ## What's Changed * [ENH] Thread topology name through purge-dirty pipeline by @rescrv in https://github.com/chroma-core/chroma/pull/6503 * [CHORE]  Tighten down k8s resources in test. by @rescrv in https://github.com/chroma-core/chroma/pull/6509 * [ENH] Purge dirty via Spanner when topology is specified by @rescrv in h |
| `1.5.2` | 2026-02-27 | Low | Version: `1.5.2` Git ref: `refs/tags/1.5.2` Build Date: `2026-02-27T19:50` PIP Package: `chroma-1.5.2.tar.gz` Github Container Registry Image: `:1.5.2` DockerHub Image: `:1.5.2`  ## What's Changed * [CHORE] Remove unwraps in index by @HammadB in https://github.com/chroma-core/chroma/pull/6382 * [CHORE] Add tracing spans to RLS to debug hangs by @rescrv in https://github.com/chroma-core/chroma/pull/6384 * [DOC] Where Filter reference by @kylediaz in https://github.com/chroma-core/chroma/pull/6386 |
| `1.5.1` | 2026-02-19 | Low | Version: `1.5.1` Git ref: `refs/tags/1.5.1` Build Date: `2026-02-19T20:01` PIP Package: `chroma-1.5.1.tar.gz` Github Container Registry Image: `:1.5.1` DockerHub Image: `:1.5.1`  ## What's Changed * [CHORE] Remove unwraps in index by @HammadB in https://github.com/chroma-core/chroma/pull/6382 * [CHORE] Add tracing spans to RLS to debug hangs by @rescrv in https://github.com/chroma-core/chroma/pull/6384 * [DOC] Where Filter reference by @kylediaz in https://github.com/chroma-core/chroma/pull/6386 |

## Dependency audit

- **Score**: 44/100
- **Total deps**: 27
- **Resolved**: 13
- **Unresolved**: 14
- **License conflicts**: 0
- **Warnings**: 23
- **Scanned**: 2026-06-01

## Citation

- HTML: https://www.freshcrate.ai/projects/chromadb
- Markdown: https://www.freshcrate.ai/projects/chromadb.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/chromadb/deps

_Generated by freshcrate.ai. Indexes pypi releases for AI-agent ecosystem packages._
