SDK
All
Description
Add a .NET SDK (dotnet/) as a new wrapper language for the Zerobus Ingest SDK, providing high-throughput streaming ingestion into Databricks Delta tables for .NET applications.
Proposed Solution
A thin P/Invoke wrapper around the existing rust/ffi/ C ABI, following the same patterns as the Java SDK:
- Native interop: P/Invoke declarations, C struct marshaling,
SafeHandle subclasses, cross-platform native library resolver
- Fluent builder API:
StreamBuilder with typed sub-builders (.Json(), .CompiledProto(), .Arrow())
- Stream types:
ZerobusJsonStream, ZerobusProtoStream<T>, ZerobusArrowStream (Beta) — all thread-safe
- Configuration: Builder pattern matching Java's
StreamConfigurationOptions
- CI/CD: GitHub Actions workflows integrated into
push.yml + release-dotnet.yml
- NuGet packaging: Multi-platform native libs bundled via
runtimes/{rid}/native/
- Testing: 51 tests (30 unit + 21 integration with gRPC mock server)
The .NET SDK uses the same zerobus_ffi that Go and C++ consume — no new FFI crate required.
Additional Context
No response
SDK
All
Description
Add a .NET SDK (
dotnet/) as a new wrapper language for the Zerobus Ingest SDK, providing high-throughput streaming ingestion into Databricks Delta tables for .NET applications.Proposed Solution
A thin P/Invoke wrapper around the existing
rust/ffi/C ABI, following the same patterns as the Java SDK:SafeHandlesubclasses, cross-platform native library resolverStreamBuilderwith typed sub-builders (.Json(),.CompiledProto(),.Arrow())ZerobusJsonStream,ZerobusProtoStream<T>,ZerobusArrowStream(Beta) — all thread-safeStreamConfigurationOptionspush.yml+release-dotnet.ymlruntimes/{rid}/native/The .NET SDK uses the same
zerobus_ffithat Go and C++ consume — no new FFI crate required.Additional Context
No response