Skip to content
Console

SDKs

Use an SDK when your code should talk directly to a Thalovant hub.

The Thalovant API is the control plane at https://api.thalovant.com. It discovers hubs and creates client identities. The SDK is the data plane. It sends runtime traffic to the hub over WSS, HTTPS, or MQTT over TLS.

  1. Pick the SDK for your runtime. Python, Node.js, Go, Rust, Kotlin, Swift, and .NET expose the same core behavior. Embedded C is a protocol library for devices that bring their own transport.
  2. Use the hosted API. Start with https://api.thalovant.com.
  3. Create one client identity per app, device, or agent. Store the returned identity in a secret store or protected SDK config file.
  4. Connect with WSS first. It is the default realtime path for public clients, and it is the only data-plane protocol in the v0.1 Kotlin, Swift, and .NET SDKs.
  5. Add HTTPS, MQTT, or browser origin access only when needed. Create a fresh identity after enabling a new protocol on the hub, and request an approved SDK Origin before calling the API from a customer-owned browser app.
Language Install Best fit
Python pip install thalovant Agents, tools, notebooks, tests, and service workers.
Node.js npm install @thalovant/sdk TypeScript services, bots, scripts, web backends, and bundled browser apps.
Go go get github.com/thalovant/thalovant-go-sdk Gateways, CLIs, small services, and long-running workers.
Rust cargo add thalovant Strict clients, embedded work, and reliability-focused services.
Kotlin implementation("com.thalovant:thalovant-sdk:0.1.3") JVM services and Android apps.
Swift SwiftPM package from the GitHub repository iOS, macOS, and Swift-on-Linux apps.
C# / .NET dotnet add package Thalovant.Sdk Enterprise .NET services and Unity apps.
C Vendored source pinned to a release tag Microcontroller and embedded devices that bring their own MQTT or WebSocket client.

Not every SDK covers every protocol yet. Pick the tier that matches your runtime needs.

Tier SDKs Data plane Control plane
Full Python, Node.js, Go, Rust WSS, HTTPS, and MQTT over TLS Full, including MFA sign-in, device login, API token auth, and typed operation polling
WSS-only (v0.1) Kotlin, Swift, .NET WSS only; requesting HTTPS or MQTT raises a clear unsupported-protocol error Full, including MFA sign-in, device login, API token auth, and typed operation polling
Protocol library Embedded C None built in; you bring the MQTT or WebSocket client and the library supplies identity parsing, topics, encryption, and wire framing None

Browser apps use the Node SDK behind a bundler: the control plane and the WSS and HTTPS data plane work in web bundles, while MQTT and identity file helpers stay Node-only. See Browser usage in the Node SDK.

The following versions were the current published package set recorded on September 3, 2026. Use the compatibility requirement in a feature’s release note when it needs a newer client.

Consumer Supported package version Registry
Python SDK thalovant 0.4.35 PyPI
Node.js SDK @thalovant/sdk 0.2.37 npm
Go SDK github.com/thalovant/thalovant-go-sdk v0.3.12 Public Go module; requires Go 1.25 or newer
Rust SDK thalovant 0.2.26 crates.io
Kotlin SDK com.thalovant:thalovant-sdk 0.1.6 Maven Central; requires JVM 17 or newer, or a compatible Android toolchain
Swift SDK thalovant-swift-sdk 0.1.6 Swift Package Manager, resolved by Git tag from the public GitHub repository; Swift 5.9 or newer
.NET SDK Thalovant.Sdk 0.1.9 NuGet; targets net8.0 and netstandard2.1 for Unity 2021 and newer
Embedded C library thalovant-embedded-c v0.1.3 Immutable Git tag and attested GitHub release archives; C99 source, no package registry
MCP server @thalovant/mcp-server 0.1.16 npm, GHCR, and the MCP Registry

All control-plane calls use the backward-compatible /api/v1 boundary. Additive server fields are safe for older SDKs because clients ignore fields they do not understand. A client that needs a newly added capability must use the minimum version listed in that capability’s release note.

The MCP server uses the Node SDK and is released after its compatible SDK version. MCP 0.1.16 declares @thalovant/sdk ^0.2.37 and is published with aligned npm, OCI, and MCP Registry metadata.

This package set is the first that supports signing in without a password through login_with_browser and its language-native equivalents, and it documents direct API token auth in every SDK. See Sign In Without A Password.

It is also the first package set that can create hubs, runtime groups, and skill installs from code. Every SDK in the table above ships the same provisioning and skill-discovery surface, and the MCP server exposes it as tools. See Provision Hubs.

  1. Discover a hub. Public hub discovery can be used before sign-in.
  2. Sign in for private API actions. Creating client identities requires API access on the workspace. Use a password login, a browser-approved device sign-in, or a scoped API token.
  3. Create a client identity. The SDK stores the returned identity locally or in your secret store.
  4. Connect to the hub. Runtime traffic goes directly to the hub endpoint.
  5. Send a request. Start with one ask call, then add sessions, context, actions, or rich output.

Browser apps on customer-owned domains need an approved SDK Origin before cross-origin SDK or API calls are accepted.

Approval is exact-origin based and non-credentialed. It allows requests from a reviewed origin, but it does not allow dashboard cookies, refresh-session headers, setup links, or long-lived client identities to be exposed in browser bundles.

Protocol Use it when Notes
WSS You want the default public realtime path. Best first choice for agents and clients that may listen for events. Supported by every SDK.
HTTPS You want request-response calls, health checks, CLIs, or jobs. Must be enabled on the hub before public clients can use it. Python, Node.js, Go, and Rust only.
MQTT over TLS You want broker-mediated device or edge traffic. Requires per-client broker credentials and topic access. Python, Node.js, Go, and Rust only; Node.js supports it outside browsers.

Every client identity is secret. Store it like a password.

Do not put identity files, access keys, passwords, broker passwords, setup links, or crypto keys in browser bundles, public repos, screenshots, logs, or support tickets.

Check Good default
API base URL https://api.thalovant.com
First runtime protocol WSS
Browser usage Use SDK Origins for reviewed browser domains. Keep secrets on a backend.
Identity storage Use a secret manager, CI secret, mounted secret file, or ~/.config/thalovant/config.yaml with mode 600.
MQTT Use mqtts://, per-client credentials, and SDK-managed topics.
Rotation Rotate by creating a new client identity and replacing the old secret.
Logs Redact identity JSON, broker passwords, API tokens, and crypto keys.

If you already know your language, open the SDK page.

Use SDK Functions when you need method names across languages. Use MQTT when the client connects through the broker. If you are designing a shared SDK feature, use the SDK Contract.

Last reviewed: August 15, 2026. Review this page when an SDK or MCP package version, registry, compatibility requirement, or install command changes.