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.
- 📝 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
- 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
- Task Types - Available task types and how to use them
- Workflow Structure - Detailed workflow configuration
- Development Guide - Setup, building, and contributing
This project is licensed under the MIT License - see the LICENSE file for details.