DatabentoDotNet.Live 0.10.0

Prefix Reserved
dotnet add package DatabentoDotNet.Live --version 0.10.0
                    
NuGet\Install-Package DatabentoDotNet.Live -Version 0.10.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="DatabentoDotNet.Live" Version="0.10.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DatabentoDotNet.Live" Version="0.10.0" />
                    
Directory.Packages.props
<PackageReference Include="DatabentoDotNet.Live" />
                    
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 DatabentoDotNet.Live --version 0.10.0
                    
#r "nuget: DatabentoDotNet.Live, 0.10.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 DatabentoDotNet.Live@0.10.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=DatabentoDotNet.Live&version=0.10.0
                    
Install as a Cake Addin
#tool nuget:?package=DatabentoDotNet.Live&version=0.10.0
                    
Install as a Cake Tool

DatabentoDotNet.Live

Real-time and intraday-replay streaming from Databento, over the raw TCP gateway protocol. A .NET port of databento-rs's live client.

0.10.0 is a beta. The code is complete and tested; what is not yet settled is whether the public surface is the right shape. 1.0.0 undertakes not to break it, so the beta is when that undertaking is worth contesting — if something here is awkward to call, an issue now is much cheaper than a major version later.

using DatabentoDotNet;
using DatabentoDotNet.Dbn;
using DatabentoDotNet.Live;

await using var client = new LiveClient
{
    ApiKey = new ApiKey(Environment.GetEnvironmentVariable("DATABENTO_API_KEY")!),
    Dataset = "EQUS.MINI",
};

await client.SubscribeAsync(new Subscription
{
    Schema = Schema.Trades,
    Symbols = Symbols.From(["AAPL", "MSFT"]),
});

await client.StartAsync();

while (await client.FillBufferAsync() > 0)
{
    while (client.TryNextRecord(out RecordRef record))
    {
        if (record.TryGet(out TradeMsg trade))
            Console.WriteLine($"{DbnTime.ToInstant(trade.IndexTs)} {trade.Price} x {trade.Size}");
    }
}

Why it is a pair of calls and not one

Upstream's next_record() does not port, and cannot. An async method may not return a ref struct, so there is no Task<RecordRef> — the split is FillBufferAsync (awaits bytes) and TryNextRecord (reinterprets them in place, synchronously). That is the same lifetime rule the decoder imposes, enforced by the compiler rather than by documentation: a RecordRef that tried to survive an await fails to compile with CS4007.

Decoding allocates nothing per record, over a real socket — asserted in the test suite against a mock gateway, not just reported by a benchmark. If you would rather have heap copies than manage that lifetime, RecordsAsync gives you an IAsyncEnumerable and pays for it.

Dependencies

NodaTime — every timeout and HeartbeatInterval is a Duration, because TimeSpan is banned repo-wide — plus DatabentoDotNet.Dbn and ZstdSharp.Port, the latter for a session that negotiated compression=zstd.

Documentation

The API reference is the XML documentation shipped inside this package. Guides, the reconnect and start_session semantics, and troubleshooting are at jerbersoft.github.io/databentodotnet — start with Live Streaming.

Source, issues, and roadmap: https://github.com/jerbersoft/databentodotnet.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
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 DatabentoDotNet.Live:

Package Downloads
DatabentoDotNet.Extensions.Hosting

Databento for ASP.NET Core and the .NET generic host: IServiceCollection registration for the historical, reference and live clients, IConfiguration binding, and a hosted live-streaming service with bounded reconnection, health checks and metrics.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.10.0 113 9/1/2026
0.9.1 101 8/31/2026
0.9.0 105 8/30/2026
0.1.0-alpha 100 8/29/2026