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

# SDKs

> Official SDKs for the Avala API

Avala provides official SDKs for Python and TypeScript, along with direct REST API access and a full OpenAPI specification. Choose the option that best fits your stack.

<CardGroup cols={2}>
  <Card title="" icon="python" href="/docs/sdks/python">
    <p style={{fontWeight: 600, fontSize: '18px', marginBottom: '4px', marginTop: '8px', color: 'inherit'}}>Python SDK</p>
    <p style={{fontSize: '14px', marginTop: '0px', opacity: 0.6}}>Full-featured client with sync and async support, type hints, and built-in pagination.</p>
  </Card>

  <Card title="" icon="js" href="/docs/sdks/typescript">
    <p style={{fontWeight: 600, fontSize: '18px', marginBottom: '4px', marginTop: '8px', color: 'inherit'}}>TypeScript SDK</p>
    <p style={{fontSize: '14px', marginTop: '0px', opacity: 0.6}}>First-class TypeScript types, Promise-based API, and tree-shakable exports.</p>
  </Card>

  <Card title="" icon="globe" href="/docs/sdks/rest-api">
    <p style={{fontWeight: 600, fontSize: '18px', marginBottom: '4px', marginTop: '8px', color: 'inherit'}}>REST API</p>
    <p style={{fontSize: '14px', marginTop: '0px', opacity: 0.6}}>Use any HTTP client to interact with the Avala API directly.</p>
  </Card>

  <Card title="" icon="file-code" href="/docs/sdks/openapi">
    <p style={{fontWeight: 600, fontSize: '18px', marginBottom: '4px', marginTop: '8px', color: 'inherit'}}>OpenAPI</p>
    <p style={{fontSize: '14px', marginTop: '0px', opacity: 0.6}}>Download the OpenAPI spec to generate clients in any language.</p>
  </Card>
</CardGroup>

## Quick Install

<CodeGroup>
  ```bash pip theme={null}
  pip install avala
  ```

  ```bash npm theme={null}
  npm install @avala-ai/sdk
  ```
</CodeGroup>

## Environment Variables

Both SDKs read configuration from environment variables so you can keep credentials out of source code.

| Variable         | Description                | Default                       |
| ---------------- | -------------------------- | ----------------------------- |
| `AVALA_API_KEY`  | API key for authentication | —                             |
| `AVALA_BASE_URL` | Custom API base URL        | `https://api.avala.ai/api/v1` |
| `AVALA_TIMEOUT`  | Request timeout in seconds | `30`                          |

```bash theme={null}
export AVALA_API_KEY=your-api-key
```

When environment variables are set, you can initialize a client without passing any arguments:

<CodeGroup>
  ```python Python theme={null}
  from avala import Client

  client = Client()  # reads AVALA_API_KEY automatically
  ```

  ```typescript TypeScript theme={null}
  import { Avala } from '@avala-ai/sdk'

  const client = new Avala()  // reads AVALA_API_KEY automatically
  ```
</CodeGroup>

***

For installation guides, usage examples, and full method references, see the [SDK documentation](/docs/sdks/overview).
