CLI reference
Install the CLI with pip install beaker-sdk, or run it without installing: uvx --from beaker-sdk beaker <command>.
Sign in
For CI and other unattended jobs, create an API key in the app and set it as BEAKER_API_KEY. The CLI picks the first of these it finds: --api-key, your saved session, then BEAKER_API_KEY.
GitHub
Installing the GitHub App and choosing which repositories it can see happens on GitHub.
Agents
An agent that is linked to a repository can’t be linked to a different one.
To pick an agent, Beaker uses --agent, then BEAKER_AGENT_KEY, then agent_key from your beaker.yaml.
Datasets
Runs
Set up and check locally
These run on your machine.
beaker init keeps any config you already have. To use an integration in another file, pass --integration-id <id> --target <path.py-or-module:attribute>.
beaker run smoke loads your dataset (a local folder, or a hosted dataset revision) and checks every row. Add --strict for the checks Beaker runs before a hosted run. Use --integration-id <id> to pick an integration when your config has more than one.
Configure hosted runs
Python version
Hosted runs use Python 3.12 by default. Beaker reads requires-python from your project’s pyproject.toml and picks the lowest version that fits. To set it yourself, use environment_base. The supported values are debian_slim:3.12 and debian_slim:3.13:
If environment_base doesn’t match what your project needs, Beaker stops before building and tells you what to change.
Installing a workspace package
If your integration lives in a uv workspace, set pip_install_from to the pyproject.toml of the package to install alongside your source folder. beaker init sets this for you.
The path must point to a file inside source_dir.