> ## 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.

# Installation

> Install the Radion SDK for TypeScript, Python, or Rust.

## TypeScript

[`@radion-app/sdk`](https://www.npmjs.com/package/@radion-app/sdk) is on npm. It ships both ESM and CommonJS builds and brings its own types. It has few dependencies — just `ws` and `zod`.

<CodeGroup>
  ```bash pnpm theme={null}
  pnpm add @radion-app/sdk
  ```

  ```bash npm theme={null}
  npm install @radion-app/sdk
  ```

  ```bash yarn theme={null}
  yarn add @radion-app/sdk
  ```

  ```bash bun theme={null}
  bun add @radion-app/sdk
  ```
</CodeGroup>

**Needs** Node.js 18 or later (for the global `fetch` and a modern `ws`).

## Python

[`radion-sdk`](https://pypi.org/project/radion-sdk/) is on PyPI (you import it as `radion`). It is async-first and has few dependencies — just `websockets` and `msgspec`.

<CodeGroup>
  ```bash uv theme={null}
  uv add radion-sdk
  ```

  ```bash pip theme={null}
  pip install radion-sdk
  ```
</CodeGroup>

**Needs** Python 3.10 or later.

## Rust

[`radion-sdk`](https://crates.io/crates/radion-sdk) is on crates.io (you import it as `radion_sdk`). It is async-first and built on `tokio`. It uses cargo features, so you build only the parts you use.

```bash theme={null}
cargo add radion-sdk
```

The `realtime` and `rustls` features are on by default. You can change the TLS backend or turn on `tracing`:

```bash theme={null}
cargo add radion-sdk --no-default-features --features realtime,native-tls,tracing
```

**Needs** Rust 1.85 or later.

## Verify

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

  const radion = new Radion({ apiKey: process.env.RADION_API_KEY });
  console.log(radion.realtime.connected); // false until connect()
  ```

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

  radion = Radion(api_key="sk_...")
  print(radion.realtime.connected)  # False until connect()
  ```

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

  let radion = Radion::builder().api_key("sk_...").build()?;
  println!("{}", radion.realtime.connected()); // false until connect()
  ```
</CodeGroup>

Next step: [Authentication](/sdks/authentication).
