dotflow 1.0.0
pip install dotflow
Released:
๐ฒ Dotflow turns an idea into flow! Lightweight Python library for execution pipelines with retry, parallel, cron and async support.
Navigation
Verified details
These details have been verified by PyPIProject links
GitHub Statistics
Maintainers
๐ Avatar for fernandocelmer from gravatar.comfernandocelmer
Unverified details
These details have not been verified by PyPIMeta
- License: Apache Software License (Apache License)
- Author: Fernando Celmer
- Tags pipeline , workflow , etl , task-runner , orchestration , automation , parallel , async , retry , data-pipeline , scheduler , cron , cron-job
- Requires: Python >=3.9
-
Provides-Extra:
aws,deploy-alibaba,deploy-aws,deploy-gcp,deploy-github,gcp,otel,scheduler,sentry
Classifiers
- Development Status
- Intended Audience
- License
- Natural Language
- Operating System
- Programming Language
- Topic
Project description
import dotflow. @action. deploy. Done.
๐ PyPI
๐ Python
๐ Downloads
๐ Stars
Website ยท Documentation ยท PyPI
Dotflow
Dotflow is a lightweight Python library for execution pipelines. Define tasks with decorators, chain them together, and deploy to any cloud โ with built-in retry, parallel execution, storage, observability, and cloud deployment.
Why Dotflow?
- Simple โ
@actiondecorator +workflow.start(). That's it. - Resilient โ Retry, backoff, timeout, checkpoints, and error handling out of the box.
- Observable โ OpenTelemetry traces, metrics, and logs. Sentry error tracking.
- Deployable โ
dotflow deploy --platform lambdaships your pipeline to AWS in one command. - Portable โ Same code runs on Lambda, ECS, Cloud Run, Alibaba FC, Kubernetes, Docker, or GitHub Actions.
Install
pipinstalldotflow
Quick Start
fromdotflowimport DotFlow, action @action defextract(): return {"users": 150} @action deftransform(previous_context): total = previous_context.storage["users"] return {"users": total, "active": int(total * 0.8)} @action defload(previous_context): print(f"Loaded {previous_context.storage['active']} active users") workflow = DotFlow() workflow.task.add(step=extract) workflow.task.add(step=transform) workflow.task.add(step=load) workflow.start()
Deploy anywhere
Write your pipeline once. Deploy to any cloud with a single command.
dotflowinit dotflowdeploy--platformlambda--projectmy_pipeline
Supported platforms
| Platform | Deploy method |
|---|---|
| ๐ Image Docker |
docker compose up |
| ๐ Image AWS Lambda |
dotflow deploy |
| ๐ Image ๐ Image AWS Lambda + EventBridge |
dotflow deploy --schedule |
| ๐ Image ๐ Image AWS Lambda + S3 Trigger |
dotflow deploy |
| ๐ Image ๐ Image AWS Lambda + SQS Trigger |
dotflow deploy |
| ๐ Image ๐ Image AWS Lambda + API Gateway |
dotflow deploy |
| ๐ Image AWS ECS Fargate |
dotflow deploy |
| ๐ Image ๐ Image AWS ECS + EventBridge |
dotflow deploy --schedule |
| ๐ Image Google Cloud Run |
dotflow deploy |
| ๐ Image ๐ Image Cloud Run + Scheduler |
dotflow deploy --schedule |
| ๐ Image Kubernetes |
kubectl apply |
| ๐ Image Alibaba Cloud FC |
dotflow deploy |
| ๐ Image Alibaba Cloud FC + Timer |
dotflow deploy --schedule |
| ๐ Image GitHub Actions |
dotflow deploy |
Optional extras
pipinstalldotflow[aws]# S3 storage pipinstalldotflow[gcp]# Google Cloud Storage pipinstalldotflow[scheduler]# Cron scheduler pipinstalldotflow[otel]# OpenTelemetry pipinstalldotflow[sentry]# Sentry error tracking pipinstalldotflow[deploy-aws]# AWS deploy (Lambda, ECS) pipinstalldotflow[deploy-gcp]# GCP deploy (Cloud Run) pipinstalldotflow[deploy-alibaba]# Alibaba Cloud deploy (FC) pipinstalldotflow[deploy-github]# GitHub Actions deploy
Documentation
| Section | Description |
|---|---|
| Concepts | Workflows, tasks, context, providers, process modes |
| How-to Guides | Step-by-step tutorials for workflows, tasks, and CLI |
| Cloud Deployment | Deploy to AWS, GCP, Alibaba, Kubernetes, Docker, GitHub Actions |
| Integrations | OpenTelemetry, Sentry, Telegram, Discord, S3, GCS, Server |
| Examples | Real-world pipelines: ETL, health checks, async, scheduler |
| Reference | API reference for all classes and providers |
| Custom Providers | Build your own storage, notify, log, tracer, or metrics provider |
Features
More Examples
All examples are available in the docs_src/ directory.
Commit Style
| Icon | Type | Description |
|---|---|---|
| โ๏ธ | FEATURE | New feature |
| ๐ | PEP8 | Formatting fixes following PEP8 |
| ๐ | ISSUE | Reference to issue |
| ๐ชฒ | BUG | Bug fix |
| ๐ | DOCS | Documentation changes |
| ๐ฆ | PyPI | PyPI releases |
| โค๏ธ๏ธ | TEST | Automated tests |
| โฌ๏ธ | CI/CD | Changes in continuous integration/delivery |
| โ ๏ธ | SECURITY | Security improvements |
License
This project is licensed under the terms of the Apache License 2.0.
Project details
Verified details
These details have been verified by PyPIProject links
GitHub Statistics
Maintainers
๐ Avatar for fernandocelmer from gravatar.comfernandocelmer
Unverified details
These details have not been verified by PyPIMeta
- License: Apache Software License (Apache License)
- Author: Fernando Celmer
- Tags pipeline , workflow , etl , task-runner , orchestration , automation , parallel , async , retry , data-pipeline , scheduler , cron , cron-job
- Requires: Python >=3.9
-
Provides-Extra:
aws,deploy-alibaba,deploy-aws,deploy-gcp,deploy-github,gcp,otel,scheduler,sentry
Classifiers
- Development Status
- Intended Audience
- License
- Natural Language
- Operating System
- Programming Language
- Topic
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 dotflow-1.0.0.tar.gz.
File metadata
- Download URL: dotflow-1.0.0.tar.gz
- Upload date:
- Size: 70.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f7a6c02cbcd990da3321099a79b3c0746612567453bd6c030b25a4e7cc917f1
|
|
| MD5 |
a929da428465a3f2a444d4e221e46d2a
|
|
| BLAKE2b-256 |
bf108e329bc7aa60e674eaa815812fcd93f9e42312495522f1f0978eebee67d8
|
Provenance
The following attestation bundles were made for dotflow-1.0.0.tar.gz:
Publisher:
python-publish-pypi.yml on dotflow-io/dotflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dotflow-1.0.0.tar.gz -
Subject digest:
2f7a6c02cbcd990da3321099a79b3c0746612567453bd6c030b25a4e7cc917f1 - Sigstore transparency entry: 1429690968
- Sigstore integration time:
-
Permalink:
dotflow-io/dotflow@7b85db5ca4e5cddc1d467624df82bdab3640b657 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/dotflow-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish-pypi.yml@7b85db5ca4e5cddc1d467624df82bdab3640b657 -
Trigger Event:
release
-
Statement type:
File details
Details for the file dotflow-1.0.0-py3-none-any.whl.
File metadata
- Download URL: dotflow-1.0.0-py3-none-any.whl
- Upload date:
- Size: 108.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7c874ae817a6c22d7fc28d47ee9f54ba20fc9196ef287d767e20df389515e84
|
|
| MD5 |
41eeee44d2739a660b3d993f74da2da9
|
|
| BLAKE2b-256 |
e92fe0c999e2046bbac06c58c07aef3d160d03daf0ac31108706c2fe343c085c
|
Provenance
The following attestation bundles were made for dotflow-1.0.0-py3-none-any.whl:
Publisher:
python-publish-pypi.yml on dotflow-io/dotflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dotflow-1.0.0-py3-none-any.whl -
Subject digest:
c7c874ae817a6c22d7fc28d47ee9f54ba20fc9196ef287d767e20df389515e84 - Sigstore transparency entry: 1429690977
- Sigstore integration time:
-
Permalink:
dotflow-io/dotflow@7b85db5ca4e5cddc1d467624df82bdab3640b657 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/dotflow-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish-pypi.yml@7b85db5ca4e5cddc1d467624df82bdab3640b657 -
Trigger Event:
release
-
Statement type:
