Skip to content

SDKs

EvidentSource provides official SDKs for popular programming languages. Each SDK includes libraries for building client applications and server-side components.

Each SDK provides up to three libraries:

ComponentPurpose
CoreFoundation types: events, selectors, constraints, identifiers
ClientgRPC connectivity to EvidentSource servers
FunctionsServer Functions library for building WASM state changes and state views
SDKStatusCoreClientFunctionsWASMNotes
RustReferenceReference implementation
GoStableRequires TinyGo 0.40.1+
.NETStableWindowsmacOS/Linux WASM coming
PythonBetaUses componentize-py
TypeScriptStableUses jco for WASM

Use Rust, Go, .NET, or Python if you need to build:

  • State Changes - WASM components that handle commands and emit events
  • State Views - WASM components that materialize views from events
  • Client applications - Applications that connect to EvidentSource servers

Rust is the reference implementation - all other SDKs follow its patterns and API design.

All five SDKs support:

  • Building State Changes - WASM components that handle commands and emit events
  • Building State Views - WASM components that materialize views from events
  • Building Client applications - Applications that connect to EvidentSource servers

Choose based on your team’s preferred language and ecosystem:

  • Rust is the reference implementation with the most mature tooling
  • Go and TypeScript offer familiar developer experience for web backends
  • .NET is ideal for enterprise environments (WASM compilation currently Windows-only)
  • Python is great for data-centric applications (Server Functions in beta)

All EvidentSource SDKs are open source under the Apache 2.0 and MIT licenses. Source code is available at github.com/evidentsystems/evidentsource-sdks.