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

# Python SDK

> Use the official ARIS Python client for generation, retries, and node routing.

## Install

```bash theme={null}
pip install aris-sdk
```

## Initialize a client

```python theme={null}
from aris.client import Aris

client = Aris(
    api_key="sk-aris-your-key",
    registry_url="https://aris-api-production.up.railway.app/",
    timeout=30,
)
```

## Generate text

```python theme={null}
response = client.generate(
    prompt="Summarize the advantages of distributed inference.",
    model="tinyllama",
    max_tokens=256,
    temperature=0.7,
)

print(response["output"])
```

## Configuration reference

| Setting        | Type             | Default                 | Description                       |
| -------------- | ---------------- | ----------------------- | --------------------------------- |
| `api_key`      | `str`            | `ARIS_API_KEY`          | Registry-issued API key.          |
| `registry_url` | `str`            | `http://localhost:8000` | Registry base URL.                |
| `timeout`      | `int`            | `30`                    | Request timeout in seconds.       |
| `headers`      | `dict[str, str]` | `{}`                    | Extra headers for custom routing. |

## Environment variables

| Variable            | Description                               |
| ------------------- | ----------------------------------------- |
| `ARIS_API_KEY`      | API key for registry authentication.      |
| `ARIS_REGISTRY_URL` | Registry URL for discovery and handshake. |

## Async usage

```python theme={null}
import asyncio
from aris.client import AsyncAris

async def main() -> None:
    client = AsyncAris(api_key="sk-aris-your-key")
    result = await client.generate(prompt="Return a one-line health summary.")
    print(result["output"])

asyncio.run(main())
```

<Note>
  Move to [/advanced-usage](/advanced-usage) for retries, concurrency, and backoff patterns.
</Note>
