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.18.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cc3dedda9eaac02ffc6cc841cff061b3dd11f06ad02cc1bb98e4588ace6f4e8 |
|
MD5 | 441aada5f9d01d77194837ab9db0ea85 |
|
BLAKE2b-256 | 2b247b1d956377d677f0aabd5f215e8b8a971a506e16049d61c919364d58cd0f |