Client SDKs
Angzarr provides client libraries for multiple languages, enabling polyglot teams to build event-sourced applications using their preferred language.
Supported Languages
Section titled “Supported Languages”Client libraries are provided for the top TIOBE languages. Additional languages (Ruby, Kotlin, TypeScript, etc.) can be added as demand materializes — the libraries are intentionally lightweight, so adding new language support is straightforward.
| Language | Package | Status |
|---|---|---|
| Rust | angzarr-client | Production |
| Go | github.com/benjaminabbitt/angzarr/client/go | Production |
| Python | angzarr-client | Production |
| Java | dev.angzarr:angzarr-client | Production |
| C# | Angzarr.Client | Production |
| C++ | angzarr-client | Production |
Installation
Section titled “Installation”pip install angzarr-clientQuick Start
Section titled “Quick Start”Connect to an aggregate coordinator and send a command:
from angzarr_client import DomainClient
client = DomainClient.connect("localhost:1310")
response = client.aggregate.handle(command)Client Types
Section titled “Client Types”All SDKs provide the same set of client types:
| Client | Purpose |
|---|---|
QueryClient | Query events from aggregates |
AggregateClient | Send commands to aggregates |
SpeculativeClient | Dry-run commands without persistence |
DomainClient | Combined query + aggregate for a domain |
Client | Full client with all capabilities |
SDK Contents
Section titled “SDK Contents”- Clients — Client types and connection patterns
- Builders — Fluent CommandBuilder and QueryBuilder
- Error Handling — Error types and introspection
- Speculative Execution — What-if scenarios without persistence
Language-Specific Documentation
Section titled “Language-Specific Documentation”Each SDK has its own repository with detailed documentation:
| Language | Repository |
|---|---|
| Rust | angzarr-client-rust |
| Go | angzarr-client-go |
| Python | angzarr-client-python |
| Java | angzarr-client-java |
| C# | angzarr-client-csharp |
| C++ | angzarr-client-cpp |