![]() |
VOOZH | about |
dotnet add package EventDbx.Client --version 0.1.1
NuGet\Install-Package EventDbx.Client -Version 0.1.1
<PackageReference Include="EventDbx.Client" Version="0.1.1" />
<PackageVersion Include="EventDbx.Client" Version="0.1.1" />Directory.Packages.props
<PackageReference Include="EventDbx.Client" />Project file
paket add EventDbx.Client --version 0.1.1
#r "nuget: EventDbx.Client, 0.1.1"
#:package EventDbx.Client@0.1.1
#addin nuget:?package=EventDbx.Client&version=0.1.1Install as a Cake Addin
#tool nuget:?package=EventDbx.Client&version=0.1.1Install as a Cake Tool
Preview C#/.NET SDK for the EventDBX control plane. The client mirrors the Rust/Python implementations: it speaks the Cap'n Proto TCP protocol, performs the Noise NNpsk0 handshake by default, and exposes helpers for aggregates, events, snapshots, schemas, and tenant admin.
A local SDK is already bootstrapped under .dotnet/ in this repo. Use it directly or rely on a system dotnet install:
# using the bundled SDK
DOTNET_ROOT=$(pwd)/.dotnet PATH="$DOTNET_ROOT:$PATH" dotnet build
Cap'n Proto types are generated into src/EventDbx.Client/Generated/proto/ via capnpc-csharp. Regenerate after schema changes with:
DOTNET_ROOT=$(pwd)/.dotnet PATH="$DOTNET_ROOT:$PATH" \
PATH="$(pwd)/.dotnet-tools:$PATH" \
capnp compile -ocsharp:src/EventDbx.Client/Generated -Iproto proto/control.capnp proto/schema.capnp
Pack the client from the repo root (adjust PackageVersion as needed):
DOTNET_ROOT=$(pwd)/.dotnet PATH="$DOTNET_ROOT:$PATH" \
dotnet pack src/EventDbx.Client/EventDbx.Client.csproj \
-c Release /p:PackageVersion=0.1.0-preview1
Packages land in artifacts/nuget/ alongside symbols and include this README as the NuGet readme.
.github/workflows/pipeline.yml) handles CI and releases.main, pushes to main, and manual dispatch.Release).main pushes or manual dispatch): auto bumps the patch version from the latest v* tag, builds/tests, packs with /p:PackageVersion=<next>, pushes a new tag, publishes to NuGet.org, and creates a GitHub release attaching the packages.NUGET_API_KEY (Publish API key from nuget.org) in repo settings. The workflow skips publish if it is absent.using EventDbx;
var client = await EventDbxClient.ConnectAsync(new EventDbxClientOptions
{
Host = "127.0.0.1",
Port = 6363,
Token = "control-token",
TenantId = "tenant-123",
});
// append an event
await client.AppendEventAsync(new AppendEventParams
{
AggregateType = "orders",
AggregateId = "ord_1",
EventType = "created",
Payload = new { total = 42.15 },
});
// list aggregates
var aggregates = await client.ListAggregatesAsync(new ListAggregatesOptions
{
Take = 50,
SortText = "created_at:desc",
});
// fetch events
var eventsPage = await client.ListEventsAsync("orders", "ord_1");
await client.DisposeAsync();
The client can disable Noise by setting UseNoise = false in EventDbxClientOptions (useful only for plaintext test sockets).
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.