Choose an SDK
Start with the component role: a unit offers operations and events, a client uses the platform, and an engine component implements platform behaviour. These packages are not interchangeable.
Language for your unit
| Language | Source release requirement | Next step |
|---|---|---|
| .NET | .NET SDK appropriate for the release | Unit SDK .NET |
| Python | Python ≥3.12 | First Python unit |
| Rust | Rust ≥1.85, edition 2024 | First Rust unit |
| Java | Java ≥25 | First Java unit |
| TypeScript | Node ≥22.12 | First TypeScript unit |
Shared responsibilities
Unit SDK handles Protocol contracts, exposition publication, lifecycle, identity and integration with calls and events within the selected release. The author supplies operation logic, declarations and required settings. Exposition declaration and hosting differ between languages; changing syntax alone does not port a tutorial.
Engine SDK supports engine components and is not the package for a regular unit. TypeScript and Dart client libraries support applications using platform APIs. They do not replace the unit process, enrollment or the identity store.
Contract and access
An exposition is a release artifact. SDK package versions, contract versions and conformance corpus versions have different meanings. Pin the combination used in your environment; a new SDK release does not automatically upgrade the generator or template.
Installation and versions explain private registry configuration. Lifecycle explains enrollment and activation order. Ontology and DSL introduce unit generation.
Production support for individual languages and the support owner: information to be supplied. Availability of a guide and package does not establish an SLA.