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

# Overview

> Manage Blaxel resources programmatically using our SDKs.

Blaxel features SDKs in three languages: **Python**, **TypeScript**, and **Go**. Check out down below the installation instructions, as well as documentation on **how the SDK** **authenticates** to Blaxel.

## Install

<CardGroup cols={3}>
  <Card title="TypeScript SDK" icon="js" href="./sdk-ts">
    Install the TypeScript SDK.
  </Card>

  <Card title="Python SDK" icon="python" href="./sdk-python">
    Install the Python SDK.
  </Card>

  <Card title="Go SDK" icon="golang" href="./sdk-go">
    Install the Go SDK.
  </Card>
</CardGroup>

## Prerequisites

To use any Blaxel SDK, you need a [Blaxel account](https://app.blaxel.ai) and the following environment variables:

| Variable       | Description                |
| -------------- | -------------------------- |
| `BL_WORKSPACE` | Your Blaxel workspace name |
| `BL_API_KEY`   | Your Blaxel API key        |

You can create an API key from the [Blaxel console](https://app.blaxel.ai/profile/security). Your workspace name is visible in the URL when you log in to the console (e.g. `app.blaxel.ai/{workspace}`).

Set them as environment variables:

```bash theme={null}
export BL_WORKSPACE=my-workspace
export BL_API_KEY=my-api-key
```

Or add them to a `.env` file at the root of your project.

## How authentication works

The Blaxel SDK does not accept credentials as constructor arguments. Credentials must be supplied through one of the following sources, checked in priority order:

1. when running on Blaxel, authentication is handled automatically
2. `BL_WORKSPACE` and `BL_API_KEY` environment variables or `.env` file (see [this page](../Agents/Variables-and-secrets) for other authentication options)
3. configuration file created locally when you log in through [Blaxel CLI](../cli-reference/introduction) (or deploy on Blaxel)

When developing locally, you can also **log in to your workspace with Blaxel CLI:**

```bash theme={null}
bl login
```

This allows you to run Blaxel SDK functions that will automatically connect to your workspace without additional setup. When you deploy on Blaxel, this connection persists automatically.

## Data collection and privacy

[Read more about the data collected by the Blaxel SDKs](/Security/Data-collection-and-privacy).

## Complete SDK reference

Visit the GitHub pages below for detailed documentation on each SDK's commands and classes.

<CardGroup cols={3}>
  <Card title="TypeScript SDK" icon="js" href="https://github.com/blaxel-ai/sdk-typescript">
    Open the GitHub repository for Blaxel SDK in TypeScript.
  </Card>

  <Card title="Python SDK" icon="python" href="https://github.com/blaxel-ai/sdk-python">
    Open the GitHub repository for Blaxel SDK in Python.
  </Card>

  <Card title="Go SDK" icon="golang" href="https://github.com/blaxel-ai/sdk-go">
    Open the GitHub repository for Blaxel SDK in Go.
  </Card>
</CardGroup>
