Declarative task runner


License
MIT
Install
pip install cjunct==1.2.0

Documentation

cjunct

Cjunct (pronounced SEE-jen) is an extensible declarative task runner, aimed to make complex routine jobs easier to configure.

PyPI - Python Version License PyPI version Tests Code style: black

Table of Contents
  1. Installation
  2. Usage
  3. How to contribute

Installation

# Install only core components
pip install cjunct

# Install both core components and docker-related extensions
pip install "cjunct[docker]"

Usage

Basic examples

# Execute a workflow that is outlined
# in the workdir-located cjunct.yaml file
cjunct run

# Print usage
cjunct --help

Options are configured either via environment variables or via command-line switches. The most common are:

  • CJUNCT_LOG_LEVEL: Set log level.
  • CJUNCT_LOG_FILE: Set log file.
  • CJUNCT_WORKFLOW_FILE: Set the workflow file path explicitly.
  • CJUNCT_STRATEGY_NAME: Manage execution strategy.
  • CJUNCT_ACTIONS_CLASS_DEFINITIONS_DIRECTORY: Where to look for custom action runners.
  • CJUNCT_STRICT_OUTCOMES_RENDERING: Manage failure behaviour when an outcome key is missing.

Full list of used environment variable names can be obtained with this command:

cjunct info env-vars

How to contribute

Development environment setup

Requires system-wide poetry>=1.3.2, see official documentation.

poetry env use python3.8
poetry install --no-root --sync --all-extras

The root directory for the source code is src, thus one may add it to the project's python path for better IDE integration.

Running tests with coverage on current environment

poetry run pytest --cov --cov-report=html:.coverage_report

Running tests on all available environments

poetry run tox