SDKs and C ABI
Net has ergonomic SDKs for Rust, TypeScript, Python, and Go, plus a C ABI for embedding the runtime or building another language binding.
Choose the language used by your application:
| Surface | Package or entry point | Runtime model | Start here |
|---|---|---|---|
| Rust | net-mesh-sdk / net_sdk | native async Rust | Rust quickstart |
| TypeScript | @net-mesh/sdk | Node.js with explicit async shutdown | TypeScript quickstart |
| Python | net-mesh-sdk / net_sdk | Python async API over the native runtime | Python quickstart |
| Go | github.com/ai-2070/net/go | cgo binding with polling for bus events | Go quickstart |
| Browser | @net-mesh/browser | a tab, over a WebRTC DataChannel to an anchor | Browser SDK |
| C ABI | generated headers over one libnet | explicit ownership, polling, and return codes | C quickstart |
The language selector keeps the task sequence in one language where that surface exists:
quickstart → announce → discover → invoke → watch → artifacts → errorsThe concepts are shared, but call shapes and feature coverage are not identical. Each language landing page states its runtime lifecycle and known gaps. The C ABI has a separate four-page annex because memory ownership, linking, and error handling need explicit treatment.
The browser is a separate runtime rather than a fifth language, so it is
organised by what a page does with it instead of by the capability path:
@net-mesh/browser is TypeScript over a WebAssembly leaf, and it reaches the mesh
through a WebRTC DataChannel to a native
anchor. Start at the Browser SDK.
Most applications should begin with a language SDK. Use the lower-level event bus when embedding the bus, writing an adapter, or controlling ingestion and consumption directly.
Alongside the public capability path, every language surface also carries
organization capability auth — an audience-scoped, admission-proof path with
its own four call shapes and a frozen org: error vocabulary. See
Organizations and
Protected streaming; each language landing page
names that binding's verbs.