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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.