Skip to content

Client SDKs

Angzarr provides client libraries for multiple languages, enabling polyglot teams to build event-sourced applications using their preferred language.

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.

LanguagePackageStatus
Rustangzarr-clientProduction
Gogithub.com/benjaminabbitt/angzarr/client/goProduction
Pythonangzarr-clientProduction
Javadev.angzarr:angzarr-clientProduction
C#Angzarr.ClientProduction
C++angzarr-clientProduction
Terminal window
pip install angzarr-client

Connect to an aggregate coordinator and send a command:

from angzarr_client import DomainClient
client = DomainClient.connect("localhost:1310")
response = client.aggregate.handle(command)

All SDKs provide the same set of client types:

ClientPurpose
QueryClientQuery events from aggregates
AggregateClientSend commands to aggregates
SpeculativeClientDry-run commands without persistence
DomainClientCombined query + aggregate for a domain
ClientFull client with all capabilities

Each SDK has its own repository with detailed documentation:

LanguageRepository
Rustangzarr-client-rust
Goangzarr-client-go
Pythonangzarr-client-python
Javaangzarr-client-java
C#angzarr-client-csharp
C++angzarr-client-cpp