A lightweight, powerful, and flexible workflow engine that executes tasks defined in YAML configuration files
Project description
YAML Workflow
A lightweight, powerful, and flexible workflow engine that executes tasks defined in YAML configuration files. This engine allows you to create modular, reusable workflows by connecting tasks through YAML definitions, with support for parallel processing, batch operations, and state management.
Features
- 📝 YAML-driven workflow definition
- 🔌 Dynamic module and function loading
- 🔄 Input/output variable management
- ⚠️ Comprehensive error handling
- 🔁 Retry mechanisms
- ⚡ Parallel processing support
- 📊 Progress tracking and logging
- 💾 State persistence and resume capability
- 🔄 Batch processing with chunking
- 🌐 Template variable substitution
- 🔀 Flow control with custom step sequences
Quick Start
- Install the package:
pip install yaml-workflow
- Initialize example workflows:
# Create workflows directory with examples
yaml-workflow init
# Or specify a custom directory
yaml-workflow init --dir my-workflows
# Initialize with specific examples only
yaml-workflow init --example hello_world
- Run the example workflow:
# Run with input parameters
yaml-workflow run workflows/hello_world.yaml name=Alice
# List available workflows
yaml-workflow list
# Validate a workflow
yaml-workflow validate workflows/hello_world.yaml
# Resume a failed workflow
yaml-workflow run workflows/hello_world.yaml --resume
Documentation
- Task Types - Available task types and how to use them
- Workflow Structure - Detailed workflow configuration
- Development Guide - Setup, building, and contributing
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yaml_workflow-0.3.0.tar.gz.
File metadata
- Download URL: yaml_workflow-0.3.0.tar.gz
- Upload date:
- Size: 98.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
644d7cf6324d3fd98789440dcf84b3f6ec731e1c333df04bf0e2e037f9476594
|
|
| MD5 |
a66b011b3726c37b635c2d79ea4d9dad
|
|
| BLAKE2b-256 |
99eb1f1f73ba24bbe65dcf6d65a6ea8532ccdf3aac6f784f97635224a2435ae6
|
Provenance
The following attestation bundles were made for yaml_workflow-0.3.0.tar.gz:
Publisher:
publish.yml on orieg/yaml-workflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yaml_workflow-0.3.0.tar.gz -
Subject digest:
644d7cf6324d3fd98789440dcf84b3f6ec731e1c333df04bf0e2e037f9476594 - Sigstore transparency entry: 197023074
- Sigstore integration time:
-
Permalink:
orieg/yaml-workflow@daa5f2cfd03be9afa1fa043202940be0d8638ad7 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/orieg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@daa5f2cfd03be9afa1fa043202940be0d8638ad7 -
Trigger Event:
push
-
Statement type:
File details
Details for the file yaml_workflow-0.3.0-py3-none-any.whl.
File metadata
- Download URL: yaml_workflow-0.3.0-py3-none-any.whl
- Upload date:
- Size: 40.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe6b0174969ecce8ae3f1eae5c88a3ef4f10fde0de86b38177107d803fac9233
|
|
| MD5 |
daabe90cc0c733bd4d1e0ff15c7063f2
|
|
| BLAKE2b-256 |
3954ee9dce730977f757bb59c6dcd49cea9e914011d9bb3b2f6bf46109f8e945
|
Provenance
The following attestation bundles were made for yaml_workflow-0.3.0-py3-none-any.whl:
Publisher:
publish.yml on orieg/yaml-workflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yaml_workflow-0.3.0-py3-none-any.whl -
Subject digest:
fe6b0174969ecce8ae3f1eae5c88a3ef4f10fde0de86b38177107d803fac9233 - Sigstore transparency entry: 197023075
- Sigstore integration time:
-
Permalink:
orieg/yaml-workflow@daa5f2cfd03be9afa1fa043202940be0d8638ad7 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/orieg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@daa5f2cfd03be9afa1fa043202940be0d8638ad7 -
Trigger Event:
push
-
Statement type: