> ## Documentation Index
> Fetch the complete documentation index at: https://docs.radion.app/llms.txt
> Use this file to discover all available pages before exploring further.

# SDKs

> One typed Radion client per language, built to grow.

The Radion SDKs give you one typed client for each language. You build it once with your API key, then use it to talk to Radion. Right now the client does realtime. It opens the connection, reconnects after a drop, sends heartbeats, and puts your subscriptions back for you. More of the platform will come later.

## The client

<CodeGroup>
  ```typescript TypeScript theme={null}
  import { Radion } from "@radion-app/sdk";

  const radion = new Radion({ apiKey: process.env.RADION_API_KEY });
  // radion.realtime — WebSocket client
  ```

  ```python Python theme={null}
  from radion import Radion

  radion = Radion(api_key="sk_...")
  # radion.realtime — WebSocket client
  ```

  ```rust Rust theme={null}
  use radion_sdk::Radion;

  let radion = Radion::builder().api_key("sk_...").build()?;
  // radion.realtime — WebSocket client
  ```
</CodeGroup>

The realtime client is also exported on its own (`RealtimeClient`). Use it if you only need the stream.

## Choose a language

<CardGroup cols={2}>
  <Card title="TypeScript" icon="square-code" href="/sdks/typescript">
    `@radion-app/sdk` — ESM + CJS, ships its own types. Node.js 18+.
  </Card>

  <Card title="Python" icon="square-code" href="/sdks/python">
    `radion-sdk` — async-first, sync or async handlers. Python 3.10+.
  </Card>

  <Card title="Rust" icon="square-code" href="/sdks/rust">
    `radion-sdk` — async-first, stream-based, cargo features. Rust 1.85+.
  </Card>
</CardGroup>

## How it relates to the raw API

The SDKs use the same protocol shown under [WebSockets](/websockets/overview). Same channels, same filters, same frames. If you want to handle the socket yourself, that reference still works. The SDK just adds the reconnect, heartbeat, and resubscribe code you would otherwise write by hand.

## Next steps

<CardGroup cols={2}>
  <Card title="Installation" icon="download" href="/sdks/installation">
    Add the package to your project.
  </Card>

  <Card title="Authentication" icon="key" href="/sdks/authentication">
    Pass your API key.
  </Card>

  <Card title="Configuration" icon="sliders-horizontal" href="/sdks/configuration">
    Client options and realtime tuning.
  </Card>

  <Card title="Realtime overview" icon="radio" href="/sdks/realtime/overview">
    Connect, subscribe, and handle events.
  </Card>
</CardGroup>
