Install the SDK
Choose your language's native package manager. Go, JavaScript and C/C++ use the base Go, JS/WASM and CGo SDKs directly. The other language packages wrap those same implementations.
Release availability: the canonical @urnetwork/sdk name and the new language packages are awaiting publication. The commands below are the installation contract for that release; each language guide also explains local package builds. Socket examples need a release containing the new socket API.
| Language | Native installation | Guide |
|---|---|---|
| C | vcpkg add port urnetwork-sdk | C guide |
| C++ | vcpkg add port urnetwork-sdk | C++ guide |
| C# | dotnet add package URnetwork.SDK | C# guide |
| Go | go get github.com/urnetwork/sdk/v2026@latest | Go guide |
| Java | implementation("io.ur:urnetwork-sdk:") | Java guide |
| JavaScript | npm install @urnetwork/sdk | JavaScript guide |
| Kotlin | implementation("io.ur:urnetwork-sdk:") | Kotlin guide |
| Python | pip install urnetwork-sdk | Python guide |
| Ruby | gem install urnetwork-sdk | Ruby guide |
| Rust | cargo add urnetwork-sdk | Rust guide |
| Swift | .package(url: "https://github.com/urnetwork/sdk-swift", exact: "") | Swift guide |
| TypeScript | npm install @urnetwork/sdk | TypeScript guide |
These unqualified commands select default/stable releases. For previews, use npm install @urnetwork/sdk@nightly, pip install --pre urnetwork-sdk, dotnet add package URnetwork.SDK --prerelease, or gem install urnetwork-sdk --pre. Cargo, Maven and SwiftPM can pin the exact preview version. Preview package names are the same as stable package names.
Java and Kotlin on Android
Use io.ur:urnetwork-sdk-android: instead of the desktop JVM coordinate. The Android AAR is built with gomobile; desktop Java/Kotlin use JNA over the CGo runtime. Swift uses the existing Apple XCFramework.
Package contents
Python wheels, Ruby gems, NuGet packages and desktop JVM packages include their supported native libraries. The Rust crate downloads a version-pinned, checksum-verified native asset at build time and embeds it in the executable. Consumers need no Go compiler or manual DLL download. Support is limited to the platforms included in that release; Linux packages state their libc floor.
The npm package contains its paired Go/WASM runtime and TypeScript declarations, with runnable Node and browser examples. Both use a configured hosted Device. The browser's native fetch API has no custom socket factory; see the language's HTTP integration guide for its Axios request adapter and Direct Sockets example.
Examples and socket behavior
Open the Examples browser for each language's installation README, socket/README.md run guide, and executable source files. Read Socket for the difference between a kernel socket and a Device socket, including possible duplicate delivery when UDP races the first datagram across IPv4 and IPv6.
For source installation, version pinning and alternative package managers, use the language guides above. C/C++ recipes are published to a configured first-party Conan remote or vcpkg Git registry; add that remote/registry once before the commands above. Inclusion in the upstream public collections requires their maintainers' acceptance. The language guides include this setup and local CMake archive installation.