cjunct
Cjunct (pronounced SEE-jen) is an extensible declarative task runner,
aimed to make complex routine jobs easier to configure.
Table of Contents
- Installation
- Usage
- 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