ChromaDotNet.Client.DependencyInjection 2.15.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package ChromaDotNet.Client.DependencyInjection --version 2.15.0
                    
NuGet\Install-Package ChromaDotNet.Client.DependencyInjection -Version 2.15.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ChromaDotNet.Client.DependencyInjection" Version="2.15.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ChromaDotNet.Client.DependencyInjection" Version="2.15.0" />
                    
Directory.Packages.props
<PackageReference Include="ChromaDotNet.Client.DependencyInjection" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ChromaDotNet.Client.DependencyInjection --version 2.15.0
                    
#r "nuget: ChromaDotNet.Client.DependencyInjection, 2.15.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ChromaDotNet.Client.DependencyInjection@2.15.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ChromaDotNet.Client.DependencyInjection&version=2.15.0
                    
Install as a Cake Addin
#tool nuget:?package=ChromaDotNet.Client.DependencyInjection&version=2.15.0
                    
Install as a Cake Tool

ChromaDotNet

ChromaDB.Client

NuGet CI License OpenSSF Scorecard OpenSSF Best Practices

Open in GitHub Codespaces

ChromaDB.Client, published on NuGet as ChromaDotNet.Client, is a .NET client for Chroma and Chroma Cloud. It covers:

  • collections, tenants and databases;
  • writing and reading records, and nearest neighbor queries with filters;
  • the Search API of Chroma Cloud, with hybrid BM25 search;
  • OpenTelemetry traces and metrics.

This is a community project, the continuation of ssone95/ChromaDB.Client, kept up to date with current Chroma versions. It is not affiliated with or endorsed by Chroma. See About this fork.

Website: chromadotnet.org

Used by

Try it in your browser

Click Open in GitHub Codespaces above. The Codespace has .NET 10 and Chroma on port 8000. When the terminal is ready, run:

dotnet run Samples/quickstart.cs

The quickstart takes ChromaDotNet.Client from NuGet, creates a collection, adds records with documents and metadata, queries them by similarity and by metadata, and deletes the collection. The embeddings are written by hand, so no model or key is needed.

You need a GitHub account. The Codespace uses the free Codespaces hours of your account.

Installation

dotnet add package ChromaDotNet.Client

ChromaDotNet.Client.DependencyInjection for Microsoft.Extensions.DependencyInjection: Dependency injection.

Example

The models, like ChromaRecords, ChromaQuery and ChromaCollectionDefinition, are in ChromaDB.Client.Models. AddChromaClient is in ChromaDB.Client.DependencyInjection.

using ChromaDB.Client;
using ChromaDB.Client.Models;

var configOptions = new ChromaConfigurationOptions(uri: "http://localhost:8000/api/v2/");
using var httpClient = new HttpClient();
var client = new ChromaClient(configOptions, httpClient);

Console.WriteLine(await client.GetVersionAsync());

var string5Collection = await client.GetOrCreateCollectionAsync("string5");
var string5Client = new ChromaCollectionClient(string5Collection, configOptions, httpClient);

await string5Client.AddAsync(["340a36ad-c38a-406c-be38-250174aee5a4"], embeddings: [new([1f, 0.5f, 0f, -0.5f, -1f])]);

var getResult = await string5Client.GetAsync("340a36ad-c38a-406c-be38-250174aee5a4", include: ChromaGetInclude.Metadatas | ChromaGetInclude.Documents | ChromaGetInclude.Embeddings);
Console.WriteLine($"ID: {getResult!.Id}");

var queryData = await string5Client.QueryAsync([new([1f, 0.5f, 0f, -0.5f, -1f]), new([1.5f, 0f, 2f, -1f, -1.5f])], include: ChromaQueryInclude.Metadatas | ChromaQueryInclude.Distances);
foreach (var item in queryData)
{
	foreach (var entry in item)
	{
		Console.WriteLine($"ID: {entry.Id} | Distance: {entry.Distance}");
	}
}

The URI, the HttpClient and the use from more threads: Connecting.

Compatibility

docs/COMPATIBILITY.md lists every tested release, the differences between them and the versions the CI runs.

The compatibility table shows every check of the latest release on Chroma 1.5.9 and on Chroma Cloud, on each .NET runtime and platform.

Documentation

Migrating from ChromaDB.Client 1.x

The migration guide has the details, and the release notes list the changes of every version.

Contributing

CONTRIBUTING.md and SECURITY.md.

License

The project is released under the MIT License, keeping the original copyright notice.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on ChromaDotNet.Client.DependencyInjection:

Package Downloads
ChromaDotNet.Aspire.Client

Aspire client integration for Chroma and Chroma Cloud: a ChromaClient of ChromaDotNet.Client with health checks, traces and metrics. Built from the Chroma integration merged into the Aspire Community Toolkit, until the toolkit publishes its packages. Community project, not affiliated with Chroma.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.18.0 116 10/21/2026
2.17.0 90 10/20/2026
2.16.0 103 10/19/2026
2.15.0 87 10/19/2026
2.14.0 107 10/13/2026
2.13.0 88 10/13/2026
2.12.0 104 10/9/2026
2.11.0 766 10/7/2026
Loading failed

2.14.0: with ChromaDotNet.Client 2.14.0. All the releases: https://github.com/ChromaDotNet/ChromaDB.Client/releases.