Skip to content
This repository was archived by the owner on Nov 5, 2026. It is now read-only.
ChromaDotNetPublic archive

About

Aspire integrations for Chroma and Chroma Cloud, built on ChromaDB.Client.

Topics

Resources

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

ChromaDotNet

ChromaDB.Aspire

Moved to the Aspire Community Toolkit: CommunityToolkit.Aspire.Hosting.Chroma and CommunityToolkit.Aspire.Chroma. These packages are deprecated and this repository is archived.

If your AppHost is on Aspire 13, ChromaDotNet.Aspire.Hosting still works: CommunityToolkit.Aspire.Hosting.Chroma needs Aspire 17.

If your service is on .NET 8 or 9, ChromaDotNet.Aspire.Client still works: CommunityToolkit.Aspire.Chroma needs .NET 10.

Moving

The assemblies, namespaces and API are the same. Change only the package references:

dotnet remove package ChromaDotNet.Aspire.Hosting
dotnet add package CommunityToolkit.Aspire.Hosting.Chroma --prerelease
dotnet remove package ChromaDotNet.Aspire.Client
dotnet add package CommunityToolkit.Aspire.Chroma --prerelease

Aspire integrations for Chroma:

Package Use
ChromaDotNet.Aspire.Hosting AppHost: AddChroma, WithDataVolume, WithDataBindMount. Image chromadb/chroma:1.5.9, health check on /api/v2/heartbeat.
ChromaDotNet.Aspire.Client Service: AddChromaClient, AddKeyedChromaClient, with ChromaDB.Client, a health check, traces and metrics. Connects to a Chroma server or to Chroma Cloud (Endpoint=https://api.trychroma.com;Token=...;Tenant=...;Database=...).
// AppHost
var chroma = builder.AddChroma("chroma").WithDataVolume();
builder.AddProject<Projects.ApiService>("api").WithReference(chroma).WaitFor(chroma);

// Service
builder.AddChromaClient("chroma");

Website: chromadotnet.org

Why this repository

The code is the Chroma integration accepted in the Aspire Community Toolkit with CommunityToolkit/Aspire#2219, which continues #1132 by ali-Hamza817. This repository published it until the toolkit shipped CommunityToolkit.Aspire.Hosting.Chroma and CommunityToolkit.Aspire.Chroma. The assemblies, namespaces and API are the same as in the toolkit, so moving changes only the package references.

Every change to the integrations goes first into the toolkit. eng/sync-from-toolkit.sh then copies the Chroma folders (src, tests, examples/chromadb) here. So the README.md in each src folder is the toolkit's, with its package ids, and the READMEs of the ChromaDotNet.Aspire packages are in docs/packages.

The build and test files come from CommunityToolkit/Aspire, adapted to publish the ChromaDotNet.Aspire packages. docs/packages, the CI and eng belong to this repository.

ChromaDotNet is an independent community project that provides .NET libraries and tools for Chroma. Independent project. Not affiliated with, endorsed by or sponsored by Chroma Inc. CHROMA is a registered trademark of Chroma Inc., used here only to describe compatibility. We use the name "Chroma" only to say which software our projects work with. It does not mean that Chroma Inc. made, approved or supports them.

Building and testing

dotnet build ChromaDB.Aspire.slnx
dotnet test --project tests/CommunityToolkit.Aspire.Chroma.Tests
dotnet test --project tests/CommunityToolkit.Aspire.Hosting.Chroma.Tests

The hosting tests start Chroma in Docker. The TypeScript AppHost test also needs the Aspire CLI, Node.js and PowerShell.

License

MIT, as CommunityToolkit/Aspire: see LICENSE.

About

Aspire integrations for Chroma and Chroma Cloud, built on ChromaDB.Client.

Topics

Resources

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages