A workflow automation tool
Project description
Buffalo
Buffalo is a powerful workflow management tool designed for quickly creating and managing project workflows. It provides a simple and flexible way to define, track, and manage tasks and workflows within projects.
Key Features
- 🚀 Quick project creation and management
- 📋 YAML-based workflow definition
- 🔄 Work status tracking and management
- 📁 Project template support
- 🔍 Flexible work retrieval mechanism
- 💾 Automatic project state saving and loading
Installation
pip install buffalo-workflow
Quick Start
- Create a workflow template file (e.g.,
workflow_template.yml):
workflow:
works:
- name: "task_1"
status: not_started
output_file: "output_1.md"
comment: "First task"
- name: "task_2"
status: not_started
output_file: "output_2.md"
comment: "Second task"
- Use Buffalo to create and manage projects:
from pathlib import Path
from buffalo import Buffalo
# Initialize Buffalo
base_dir = Path("./projects")
template_path = Path("./workflow_template.yml")
buffalo = Buffalo(base_dir, template_path)
# Create a new project
project = buffalo.create_project("my_project")
# Get a pending task
project, work = buffalo.get_a_job("task_1")
# Update task status
buffalo.update_work_status(project.folder_name, work, "in_progress")
Project Structure
my_project/
├── buffalo.yml # Project configuration file
└── workflow_description.yml # Workflow description file
Requirements
- Python >= 3.8
- PyYAML >= 5.1
- setuptools >= 42.0.0
License
MIT License
Contributing
Issues and Pull Requests are welcome!
Links
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
buffalo_workflow-0.1.5.tar.gz
(14.3 kB
view details)
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 buffalo_workflow-0.1.5.tar.gz.
File metadata
- Download URL: buffalo_workflow-0.1.5.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f8b341f5efee8e7d4e97a8cbff20d8b491f51ee15c1285f43c9a07a1d2a306f
|
|
| MD5 |
ddad2443c04184cded9c3e2925704a1f
|
|
| BLAKE2b-256 |
1d5403bb3a39a21253d8e1ef623634571ce00b21c4cb6a26c6119ebe9914d453
|
File details
Details for the file buffalo_workflow-0.1.5-py3-none-any.whl.
File metadata
- Download URL: buffalo_workflow-0.1.5-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9197859f39428aa311c3455c1ccb6cee6fd3efeca250d945ff7ea9e4c3781c7b
|
|
| MD5 |
6cedadf8517e90f6e49f2c0949751d42
|
|
| BLAKE2b-256 |
af4cf017f032d4e478ede6f7cf9195f5429314613b3fd18fae47abf8cf846d9e
|