Skip to main content

A Python library for orchestrating RPA, data processing, and AI task pipelines from YAML/JSON configurations

Project description

TaskFlow

PyPI version Python Versions License: MIT Tests

A Python library for orchestrating automated pipelines including RPA (desktop/web automation), data processing, and AI tasks using YAML or JSON configuration files.

Features

  • Configuration-based execution: Define your task pipelines in YAML or JSON
  • Modular task system: Supports RPA, data processing, and AI tasks
  • Easy extensibility: Add custom task modules with simple function definitions
  • Type-safe: Built with type hints for better IDE support
  • Error handling: Clear error messages for debugging pipelines

Installation

pip install taskflow-pipeline

For development:

git clone https://github.com/berkterekli/taskflow-pipeline.git
cd taskflow-pipeline
pip install -e ".[dev]"

Quick Start

  1. Create a tasks.yaml file:
tasks:
  - action: "rpa.click"
    params:
      target: "Submit Button"
  
  - action: "data.clean_data"
    params:
      data: "sample_data.csv"
  1. Run your pipeline:
from taskflow import TaskFlow

# Initialize and run the pipeline
pipeline = TaskFlow("tasks.yaml")
pipeline.run()

Task Types

RPA Tasks

  • rpa.click: Simulate clicking on UI elements
  • rpa.extract_table_from_pdf: Extract tables from PDF files

Data Tasks

  • data.clean_data: Clean and preprocess data

AI Tasks

  • ai.generate_text: Generate text using AI models

Project Structure

taskflow/
├── __init__.py
├── core.py          # Main TaskFlow engine
├── parser.py        # YAML/JSON parser
└── tasks/
    ├── __init__.py
    ├── rpa_tasks.py      # RPA automation tasks
    ├── data_tasks.py     # Data processing tasks
    └── ai_tasks.py       # AI-related tasks

Development

Run tests:

pytest

Format code:

black taskflow tests

Type checking:

mypy taskflow

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Publishing

See PUBLISHING_GUIDE.md for detailed instructions on publishing to PyPI.

Changelog

See CHANGELOG.md for version history and changes.

Author

Berk Terekli

Support

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

taskflow_pipeline-0.1.0.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

taskflow_pipeline-0.1.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file taskflow_pipeline-0.1.0.tar.gz.

File metadata

  • Download URL: taskflow_pipeline-0.1.0.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for taskflow_pipeline-0.1.0.tar.gz
Algorithm Hash digest
SHA256 38c708cdf3fc40738dbfb4db03d464f9862b994b88f5d0736708ed49cc3dc93d
MD5 8dd782bcd81b8d6ed2d8baba478f11f3
BLAKE2b-256 fd376b0a47fd2d7b76ba27cb3a86c07ef736bf49967f1512a4f6f52c780e969f

See more details on using hashes here.

File details

Details for the file taskflow_pipeline-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for taskflow_pipeline-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 936835bc8536a741d4bc7e25c12216a75967cbf278d8d977c7229d39a3de7692
MD5 c53bdda908c2e541ac1edc3b3c538141
BLAKE2b-256 99ba3dd1b031999d8fed47b5702f3c5a7fed5be5a7cb7fa12d9aea0c40e404b7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page