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

# Installation

> Install Meibel SDKs in your development environment

## SDK Installation

Choose the SDK for your language and install it with your package manager.

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

  ```bash TypeScript theme={null}
  npm install meibel
  ```

  ```bash Go theme={null}
  go get github.com/meibel-ai/meibel-go
  ```
</CodeGroup>

## Environment Setup

All SDKs authenticate with an API key. Get yours from the [Meibel Console](https://console.meibel.ai), then set it as an environment variable.

<CodeGroup>
  ```bash macOS / Linux theme={null}
  export MEIBEL_API_KEY="mbl_your_api_key_here"
  ```

  ```powershell Windows theme={null}
  $env:MEIBEL_API_KEY = "mbl_your_api_key_here"
  ```

  ```bash .env file theme={null}
  MEIBEL_API_KEY=mbl_your_api_key_here
  ```
</CodeGroup>

<Tip>
  Using a `.env` file? The Python SDK loads it automatically with [python-dotenv](https://pypi.org/project/python-dotenv/). For TypeScript, use the [dotenv](https://www.npmjs.com/package/dotenv) package.
</Tip>

## CLI Installation

The Meibel CLI lets you interact with the API from your terminal. Install it with your preferred method.

<CodeGroup>
  ```bash Homebrew (macOS) theme={null}
  brew install meibel-ai/tap/meibel
  ```

  ```powershell Scoop (Windows) theme={null}
  scoop bucket add meibel https://github.com/meibel-ai/scoop-bucket
  scoop install meibel
  ```

  ```bash Binary Download (Linux / manual) theme={null}
  # Download the latest release for your platform from:
  # https://github.com/meibel-ai/meibel-cli/releases
  #
  # Extract and move to your PATH:
  tar -xzf meibel_linux_amd64.tar.gz
  sudo mv meibel /usr/local/bin/
  ```
</CodeGroup>

After installing, configure the CLI with your API key:

```bash theme={null}
meibel config init
```

## Verify Installation

Run a quick API call to confirm everything is working. This example lists your datasources -- an empty list means the connection is healthy.

<CodeGroup>
  ```python Python theme={null}
  import os
  from meibel import MeibelClient

  client = MeibelClient(api_key=os.environ["MEIBEL_API_KEY"])

  datasources = client.datasources.list_datasources()
  print(f"Connected — {len(datasources.items)} datasource(s) found")
  ```

  ```typescript TypeScript theme={null}
  import { MeibelClient } from "meibel";

  const client = new MeibelClient({
    apiKey: process.env.MEIBEL_API_KEY,
  });

  const datasources = await client.datasources.listDatasources();
  console.log(`Connected — ${datasources.items.length} datasource(s) found`);
  ```

  ```go Go theme={null}
  package main

  import (
      "context"
      "fmt"
      "os"

      meibel "github.com/meibel-ai/meibel-go"
  )

  func main() {
      client := meibel.NewClient(
          meibel.WithAPIKey(os.Getenv("MEIBEL_API_KEY")),
      )

      datasources, err := client.Datasources.ListDatasources(context.Background(), nil)
      if err != nil {
          panic(err)
      }
      fmt.Printf("Connected — %d datasource(s) found\n", len(datasources.Items))
  }
  ```

  ```bash CLI theme={null}
  meibel datasources list
  ```
</CodeGroup>

If you see a count (even zero), your installation and API key are working correctly.

## Next Steps

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/quickstart">
    Build your first AI-powered workflow end-to-end
  </Card>

  <Card title="API Reference" icon="book" href="/api-reference/introduction">
    Explore the full API reference
  </Card>
</CardGroup>
