Skip to main content

A lightweight task library for reproducible workflows

Project description

Because reproducible science takes clean tasks. And why don't you have a cup of relaxing jasmin tea?

airoh is a lightweight Python task library built with invoke, designed for reproducible research workflows. It provides pre-written, modular task definitions that can be easily reused in your own tasks.py file — no boilerplate, just useful automation. Access the documentation of the library on the airoh docs website for a list of available airoh tasks.

Installation

Installation through PIP:

pip install airoh

For local deployment:

git clone https://github.com/simexp/airoh.git
cd airoh
pip install -e .

Usage

You can use airoh in your project simply by importing tasks in your tasks.py file.

Minimal Example

# tasks.py
from airoh.utils import run_notebooks, setup_env_python

Now you can call:

invoke run-notebooks
invoke setup-env-python

Requirements

  • Python ≥ 3.8
  • invoke ≥ 2.0
  • Docker (for container tasks)
  • Apptainer (optional, for .sif support)
  • jupyter (if using run-notebooks)

Note that a few more requirements are required for development, in particular pdoc which is used to generate the documentation website.

Philosophy

Inspired by Uncle Iroh from Avatar: The Last Airbender, airoh aims to bring simplicity, reusability, and clarity to research infrastructure — one well-structured task at a time. It is meant to support a concrete implementation of the YODA principles.

License

MIT © airoh contributors

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

airoh-0.2.0.tar.gz (74.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

airoh-0.2.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file airoh-0.2.0.tar.gz.

File metadata

  • Download URL: airoh-0.2.0.tar.gz
  • Upload date:
  • Size: 74.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for airoh-0.2.0.tar.gz
Algorithm Hash digest
SHA256 17956368b6196057d181d2187725e9369e75fe2fec40b47d2fecd7e7f58a6ccb
MD5 cf294a6f5f2cbc191dfdcc823aca1d03
BLAKE2b-256 7c63aaf3dda7b14d8c3a673a0aeef19b73b38033379a595a366ec37a07b87fb3

See more details on using hashes here.

File details

Details for the file airoh-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: airoh-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for airoh-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 551ddf9327cbf0e4958177511713b2023f320c7034d894ba8e7c7135b586def0
MD5 ad436af2120be10bed291c45230267c4
BLAKE2b-256 2117ee5ec00cded2462c66e0234dd97755ce24069268b886e14aef28e3085d52

See more details on using hashes here.

Supported by

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