A minimal build system.
Project description
Brei
Minimal workflow system and alternative to Make.
- Read from TOML or JSON (also
pyproject.toml
in[tool.brei]
section) - Only Python ≥ 3.11 required
- Runs task lazily and in parallel
- Supports variables, templates, includes and custom runners
Read more: documentation
Why (yet another workflow tool)
This tool was developed as part of the Entangled project, but can be used on its own. Brei is meant to perform small scale automisations for literate programming in Entangled, like generating figures, and performing computations locally. It requires no setup to work with and workflows are easy to understand by novice users. If you have any more serious needs than that, we'd recommend to use a more tried and proven system, of which there are too many to count.
When to use
You're running a project, there's lots of odds and ends that need automisation. You'd use a Makefile
but your friend is on Windows and doesn't have GNU Make installed. You try to ship a product that needs this, but don't want to confront people trying it for the first time with a tonne of stuff they've never heard of.
Install
To install, you may:
pip install brei
Or you use a tool for virtual environments, we recommend Poetry, after creating a new project with poetry init
:
poetry add brei
Development
To run unit tests and type checker:
poetry install
poetry shell
brei test
To build the documentation, run the brei weave
workflow:
# poetry shell
brei weave
Some parts of Brei are literate. Run the entangled watch daemon while editing code,
entangled watch
or else, as a batch job, stitch changes before committing:
entangled stitch
License
Copyright Netherlands eScience Center, Apache License, see LICENSE.
Project details
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
File details
Details for the file brei-0.2.3.tar.gz
.
File metadata
- Download URL: brei-0.2.3.tar.gz
- Upload date:
- Size: 18.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df320a5ea79bb18f2aff2ad8a75b477ee3e586a4e0f428ba2e3a1e0b1b8b49d6 |
|
MD5 | 3bbc81e8ee31719895f23da6db207fcc |
|
BLAKE2b-256 | 962379a089b9f55fe3d883ea8d296a908d308caec64bca24d5ef576a980a5c2c |
File details
Details for the file brei-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: brei-0.2.3-py3-none-any.whl
- Upload date:
- Size: 22.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4c9ce42983d7ca47aba3dbc8bf3cf33fe06d9cd604b7348cb3dd54e95f30772 |
|
MD5 | 178f9dd4b46dba87eced330e3cecbbb9 |
|
BLAKE2b-256 | a9c6d40384f30376536f89df37196149a3abb94f4fce200874e4e0f859563c43 |