ChromaDotNet

Libraries

ChromaDotNet.Local

Chroma on your machine, without Docker and without Python. ChromaLocalServer.StartAsync starts the server of an engine package as a child process on 127.0.0.1, for ChromaDotNet.Client, and stops it with Dispose or when the application ends.

Engines

  • ChromaDotNet.Local.ChromaDB: Chroma 1.5.9, with the executables for Windows x64, Linux x64 and arm64 (glibc 2.28 and later), macOS x64 and arm64, in its runtime packages. With the property ChromaDotNetLocalChromaDBDownload set to true in the project, the first start downloads the one of its platform instead.

ChromaDotNet.Local.VecturaDB, the engine for VecturaDB, is not on NuGet yet.

Install

dotnet add package ChromaDotNet.Local.ChromaDB --prerelease

It brings the base, ChromaDotNet.Local.

Example

Start Chroma in your application and create a collection:

Program.cs
using ChromaDotNet.Local;

await using var chroma = await ChromaLocalServer.StartAsync(new() { DataPath = "./chroma-data" });
using var client = chroma.CreateClient();

var collection = await client.GetOrCreateCollectionAsync("docs");
Console.WriteLine(collection.Name);

Tested on 25 October 2026 with ChromaDotNet.Local.ChromaDB 1.5.9.1-preview.6 on Windows x64.

The GettingStarted sample goes further.