skillfed

simpleflow

Python library for dataflow programming with Amazon SWF

simpleflow v0.36.0 1.0M downloads/30d#4,538 on PyPI67
Permissive license MIT Active released

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 simpleflow

uv

uv add simpleflow

poetry

poetry add simpleflow

Installing 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

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

Tags

amazon swf workflow orchestrationdistributed task coordination pythondataflow programming awsworkflow engine futuresswf decider activity workerdistributed task executionworkflow replay and retry
aws-swfworkflow-orchestrationdistributed-computing

More Distributed Computing packages