About this project

Dotflow is a lightweight Python library for building execution pipelines. Users define tasks via the @action decorator, chain them with DotFlow.task.add(), and run the workflow by calling start(). It provides built-in resilience features including retry, timeout, exponential backoff, and checkpoint-based resume for failed workflows. It supports four out-of-the-box execution modes: sequential (default), background (non-blocking thread), parallel (all tasks run simultaneously), and parallel groups (groups run in parallel while tasks within a group run sequentially). The library offers built-in observability integrations with OpenTelemetry (traces, metrics, structured logs) and Sentry (error tracking, performance monitoring). It includes a pluggable provider system for storage (in-memory default, file system, AWS S3, Google Cloud Storage), notifications (Telegram, Discord), scheduling (cron with overlap strategies like skip, queue, parallel), and remote server reporting. It also supports async task functions, class-based step definitions, task and workflow callbacks, and configurable error handling (stop on first failure or continue executing remaining tasks). Dotflow provides a CLI for running, scheduling, and managing workflows without writing extra code, and supports one-command deployment to 34+ cloud platforms including AWS Lambda, AWS ECS Fargate, Google Cloud Run, Alibaba Cloud Function Compute, Kubernetes, Docker, and GitHub Actions. Users can extend its functionality by implementing custom providers for storage, logging, tracing, metrics, and other capabilities via abstract base classes.