A Python Beaker client
Project description
Features
🪶 Lightweight
- Minimal dependencies.
- Only pure-Python dependencies.
- Communicates directly with the Beaker server via HTTP requests (Beaker CLI not required).
💪 Robust
- Automatically retries failed HTTP requests with exponential backoff.
- Runtime data validation.
- High test coverage.
📓 Exhaustively-typed and documented
- Thorough data model for all input / output types.
- Every expected HTTP error from the Beaker server is translated into a specific exception type.
Quick links
See also 👇
- Beaker (CLI)
- Beaker Gantry
- Beaker-relevant GitHub Actions
Installing
Installing with pip
beaker-py is available on PyPI. Just run
pip install beaker-py
Installing from source
To install beaker-py from source, first clone the repository:
git clone https://github.com/allenai/beaker-py.git
cd beaker-py
Then run
pip install -e .
Quick start
If you've already configured the Beaker command-line client, beaker-py will
find and use the existing configuration file (usually located at $HOME/.beaker/config.yml
).
Otherwise just set the environment variable BEAKER_TOKEN
to your Beaker user token.
Either way, you should then instantiate the Beaker client with .from_env()
:
from beaker import Beaker
beaker = Beaker.from_env(default_workspace="my_org/my_workspace")
The API of beaker-py is meant to mirror - as closely as possible - the API of the Beaker CLI. For example, when you do this with the CLI:
beaker dataset create --name foo .
The beaker-py equivalent would be:
beaker.dataset.create("foo", ".")
See the API Docs to learn about the Beaker client's methods.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for beaker_py-1.23.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b5763dd28d21677ea6db2d584a64979db11d778a97db7879a953e519a673516 |
|
MD5 | e2a04fcd9a453ecb0ed4148443372b8e |
|
BLAKE2b-256 | c3728d67bfb75dc16f032f33fd74d83a6752f79d28a0c6812ccc477378fcabf1 |