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
The code is the Chroma integration accepted in the Aspire Community Toolkit with CommunityToolkit/Aspire#2219, which continues #1132 by ali-Hamza817. This repository publishes it until the toolkit ships CommunityToolkit.Aspire.Hosting.Chroma and CommunityToolkit.Aspire.Chroma. Then this repository will be archived, and the packages deprecated in favor of those. 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.
This is a community project. It is not affiliated with or endorsed by Chroma.
dotnet build ChromaDB.Aspire.slnx
dotnet test --project tests/CommunityToolkit.Aspire.Chroma.Tests
dotnet test --project tests/CommunityToolkit.Aspire.Hosting.Chroma.TestsThe hosting tests start Chroma in Docker. The TypeScript AppHost test also needs the Aspire CLI, Node.js and PowerShell.
MIT, as CommunityToolkit/Aspire: see LICENSE.
