simpleflow
Python library for dataflow programming with Amazon SWF
What it is and what it does
Simpleflow is a Python library for building distributed workflows using the dataflow programming paradigm, with Amazon SWF as the orchestration backend. It abstracts task coordination through a futures-based API similar to Python's concurrent.futures, allowing you to define asynchronous tasks and their dependencies declaratively. The library handles task retry, replay behavior, and can transparently encode large fields to S3. It includes a local executor for testing workflows without AWS infrastructure, and provides command-line tools to run decider and activity worker processes against SWF.
The package is actively maintained, supports Python 3.10 through 3.14, and carries no known security vulnerabilities. Its runtime dependencies cover AWS integration, serialization, caching, and process management. It is suitable for teams already using Amazon SWF who want a Pythonic abstraction layer, though adoption is modest at top-5000 PyPI position.
Use it for:
- Build long-running distributed workflows on Amazon SWF with Python, defining task dependencies as futures.
- Test workflow logic locally without AWS infrastructure using the built-in local executor mode.
- Implement retry and replay logic for fault-tolerant distributed task execution.
- Automatically handle large field encoding to S3 for SWF workflows that exceed message size limits.
- Coordinate decider and activity worker processes for scalable task orchestration.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Simpleflow provides a Python library for writing distributed dataflow programs that coordinate task execution through Amazon SWF, using a futures-based abstraction to define task dependencies.
Yes, if you are using Amazon SWF and want a Pythonic abstraction for workflow coordination. The library is actively maintained, has low install friction, carries a permissive MIT license, and includes no known vulnerabilities. Install with caution if you are not already committed to SWF; it is a specialized tool for that specific AWS service.
Install
simpleflow on PyPI
pip
pip install simpleflowuv
uv add simpleflowpoetry
poetry add simpleflowInstalling simpleflow
Before you install
Low install friction with a pure Python wheel. Actively maintained with last commit on 2026-08-09. Supports current Python versions (3.10, 3.11, 3.12, 3.13, 3.14). Fourteen runtime dependencies are manageable for a workflow orchestration library.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
pip install simpleflow
from simpleflow import Workflow, activity
@activity()
def my_task():
return "result"
class MyWorkflow(Workflow):
def run(self):
result = my_task.submit()
return result.result()
Requires Python 3.10 or later. To execute workflows, you need an Amazon SWF domain and credentials configured, or use the local executor mode (simpleflow --local) for testing without AWS.
Verify before relying
- Whether the runtime dependencies (attrs, boto3, click, dill, diskcache, jinja2, lazy-object-proxy, lockfile, markupsafe, multiprocess, psutil, pytz, setproctitle, tabulate) are all required for basic usage or if some are optional.
- Current real-world adoption patterns and use cases beyond the top-5000 PyPI ranking.
- Whether the library is actively developed for new SWF features or primarily in maintenance mode.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 14 — attrs, boto3, click, dill, diskcache, jinja2, lazy-object-proxy, lockfile, markupsafe, multiprocess, psutil, pytz, setproctitle, tabulate |
| Maintenance | actively maintained — 44 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,000,292/month — #4,538 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: simpleflow-0.36.0-py3-none-any.whl
Keywords: amazon swf, simple workflow, simpleflow
Tags
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework…
permissive · top 100 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
cloudpickleCloudpickle extends Python's standard pickle…
permissive · top 1,000 on PyPI
smart-openProvides a unified, open()-compatible Python…
permissive · top 1,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
rayRay is a distributed computing framework that…
permissive · top 1,000 on PyPI
temporalioTemporal Python SDK provides a framework for…
permissive · top 1,000 on PyPI
Flask-ExecutorFlask-Executor wraps Python's…
permissive · top 15,000 on PyPI
schedulaSchedula is a flow-based programming library…
copyleft · top 5,000 on PyPI
mistralai-workflowsMistral Workflows is a Python SDK for building…
permissive · top 15,000 on PyPI
google-cloud-dataflow-clientProvides a Python client library to manage…
permissive · top 1,000 on PyPI
apache-airflow-providers-edge3Extends Apache Airflow with an EdgeExecutor and…
permissive · top 15,000 on PyPI
apache-beamApache Beam is a unified framework for defining…
permissive · top 5,000 on PyPI
mpireMPIRE provides a faster, more feature-rich…
permissive · top 5,000 on PyPI
futuresBackport of Python 3's concurrent.futures…
permissive · top 5,000 on PyPI