Skip to main content

A minimal build system.

Project description

Brei

GitHub Org's stars Python package PyPI - Version Entangled badge

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

brei-0.2.3.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

brei-0.2.3-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

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

Hashes for brei-0.2.3.tar.gz
Algorithm Hash digest
SHA256 df320a5ea79bb18f2aff2ad8a75b477ee3e586a4e0f428ba2e3a1e0b1b8b49d6
MD5 3bbc81e8ee31719895f23da6db207fcc
BLAKE2b-256 962379a089b9f55fe3d883ea8d296a908d308caec64bca24d5ef576a980a5c2c

See more details on using hashes here.

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

Hashes for brei-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d4c9ce42983d7ca47aba3dbc8bf3cf33fe06d9cd604b7348cb3dd54e95f30772
MD5 178f9dd4b46dba87eced330e3cecbbb9
BLAKE2b-256 a9c6d40384f30376536f89df37196149a3abb94f4fce200874e4e0f859563c43

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page