simpleflow
Python library for dataflow programming with Amazon SWF
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
- Low install friction with a pure Python wheel.
License · maintenance · safety
MIT (permissive) — 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.
last release 2026-07-01 (44 days) · last repo commit 2026-08-09 · 67 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,000,292 downloads/mo, #4,538 on PyPI
Alternatives
Verify before relying
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()- 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.
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 on it.
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
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.
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.
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()
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 packagesattrsboto3clickdilldiskcachejinja2lazy-object-proxylockfilemarkupsafemultiprocesspsutilpytzsetproctitletabulate |
| 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 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: simpleflow-0.36.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “amazon swf workflow orchestration”
- simpleflowSimpleflow provides a Python library for writing distributed dataflow…
- mypy-boto3-swfProvides type annotations and IDE autocompletion support for boto3's…
- sagemaker-mlopsProvides high-level orchestration for Amazon SageMaker workflows,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework that enables you to define and call remote procedures across network boundaries using protocol buffers for serialization.
Install it if you need RPC communication in a distributed system or are integrating with existing gRPC services.
execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.
However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…
Cloudpickle extends Python's standard pickle module to serialize lambda functions, interactively-defined functions and classes, and other constructs that the default pickle cannot handle, making it suitable for cluster computing and remote code execution.
Install it if you need to serialize lambda functions, interactively-defined code, or non-standard Python constructs for cluster computing or distributed execution.
Provides a unified, open()-compatible Python API for streaming large files from remote storage (S3, GCS, Azure, HDFS, SFTP, HTTP) and local filesystems, with transparent compression support.
Install it if you work with large files on cloud storage or remote systems and want to avoid writing boilerplate around multiple SDKs.
Portalocker provides cross-platform file locking with support for exclusive and shared locks, plus Redis-based distributed locks and process-aware PID file locking.
Install it if you need file or process coordination; the optional extras (pywin32, redis) are only required for specific lock types.
Ray is a distributed computing framework that scales Python applications from a single machine to multi-node clusters, providing abstractions for parallel tasks, stateful actors, and shared objects.
See also temporalio · Flask-Executor · schedula · mistralai-workflows · google-cloud-dataflow-client · apache-airflow-providers-edge3 · apache-beam · mpire · futures