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

# Installation and login

> Get braven.py into your project and authenticate once.

## Install

The SDK is a single file, not (yet) a published package. Copy `sdk/braven.py` into your project, or put it on your `PYTHONPATH`.

<Note>
  `sdk/braven.py` and the copy baked into the pipeline worker (`worker/braven.py`) are kept byte-identical — the same API works whether your code runs on your own machine or as a pipeline script inside Braven.
</Note>

Dependencies: `requests` (required), `pandas` (only if you use `.as_dataframe()`), `matplotlib` (only if you upload live Figures — imported lazily, never required at module load).

## Log in

<CodeGroup>
  ```bash CLI theme={null}
  python -m braven login
  ```

  ```python In code theme={null}
  import braven
  braven.login(api_url="https://api.bravenlab.com", api_key="braven_...")
  ```
</CodeGroup>

The CLI prompts for:

| Prompt      | Value                                                                     |
| ----------- | ------------------------------------------------------------------------- |
| API URL     | `https://api.bravenlab.com`                                               |
| SDK API key | Your `braven_...` Watcher Key — generate one from **Settings** in the app |

Credentials are saved to `~/.braven/config.json` and picked up automatically by every later `braven.init()` call — you don't pass them again.

## Next

<CardGroup cols={2}>
  <Card title="Direct logging" icon="pen" href="/sdk-reference/direct-logging">
    Log experiments from your own scripts, wandb-style.
  </Card>

  <Card title="Query experiments" icon="magnifying-glass" href="/sdk-reference/querying-experiments">
    Read existing experiments and their files back into pandas.
  </Card>
</CardGroup>
