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

> Avala API-க்கான அதிகாரப்பூர்வ SDKs மற்றும் கிளையன்ட் நூலகங்கள்

Avala provides official SDKs and client libraries to help you integrate with the platform from your preferred language or framework. Each SDK wraps the Avala REST API with idiomatic methods, built-in authentication, automatic retries, and full type safety.

## Client Libraries

<CardGroup cols={2}>
  <Card title="Python" icon="python" href="/ta/sdks/python">
    Sync and async support. Full type hints. Python 3.9+.
  </Card>

  <Card title="TypeScript" icon="js" href="/ta/sdks/typescript">
    Fully typed. Zero dependencies. Works in Node.js, Deno, and Bun.
  </Card>

  <Card title="CLI" icon="terminal" href="/ta/sdks/cli">
    Manage datasets, exports, and storage from your terminal. `curl -fsSL https://avala.ai/install.sh | bash`.
  </Card>

  <Card title="REST API" icon="globe" href="/sdks/rest-api">
    Use the API directly from any language with HTTP requests.
  </Card>

  <Card title="OpenAPI" icon="code" href="/sdks/openapi">
    Generate your own client from the OpenAPI specification.
  </Card>
</CardGroup>

## Quick Comparison

| Feature          | Python              | TypeScript                  | CLI                                              | REST API    |
| ---------------- | ------------------- | --------------------------- | ------------------------------------------------ | ----------- |
| **Install**      | `pip install avala` | `npm install @avala-ai/sdk` | `curl -fsSL https://avala.ai/install.sh \| bash` | Direct HTTP |
| **Async**        | Sync + Async        | Async                       | N/A                                              | Any         |
| **Type Safety**  | Full type hints     | Full TypeScript types       | N/A                                              | N/A         |
| **Auto Retries** | Yes                 | Yes                         | Via SDK                                          | Manual      |
| **Pagination**   | Built-in iterators  | Built-in iterators          | `--limit` flag                                   | Manual      |
| **Dependencies** | httpx, pydantic     | None (native fetch)         | click, rich                                      | N/A         |

## Environment Variables

All SDKs respect the following environment variables, so you can configure them once and use them across your entire stack.

| Variable         | Description                                                                                              | Default                       |
| ---------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------- |
| `AVALA_API_KEY`  | Your Avala API key for authentication. Used automatically if no key is passed to the client constructor. | None (required)               |
| `AVALA_BASE_URL` | Override the default API base URL. Useful for self-hosted deployments or development environments.       | `https://api.avala.ai/api/v1` |

## Authentication

All requests to the Avala API must include your API key in the `X-Avala-Api-Key` header. You can find your API key in the [Avala dashboard](https://avala.ai/settings?section=security) under **Settings > Security**.

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

Once the environment variable is set, all SDKs will pick it up automatically without any additional configuration.

## MCP Integration

Use Avala with AI assistants like Claude, Cursor, and VS Code through the [Model Context Protocol](/integrations/mcp-setup). The `@avala-ai/mcp-server` package exposes your datasets, projects, and exports as tools that AI assistants can call directly.
