Python library for dataflow programming with Amazon SWF
Project description
Simpleflow
Simpleflow is a Python library that provides abstractions to write programs in the distributed dataflow paradigm. It coordinates the execution of distributed tasks with Amazon SWF.
It relies on futures to describe the dependencies between tasks. A Future object
models the asynchronous execution of a computation that may end. It tries to mimic
the interface of the Python concurrent.futures library.
Features
- Provides a
Futureabstraction to define dependencies between tasks. - Define asynchronous tasks from callables.
- Handle workflows with Amazon SWF.
- Implement replay behavior like the Amazon Flow framework.
- Handle retry of tasks that failed.
- Automatically register decorated tasks.
- Encodes/decodes large fields to S3 objects transparently (aka "jumbo fields").
- Handle the completion of a decision with more than 100 tasks.
- Provides a local executor to check a workflow without Amazon SWF (see
simpleflow --localcommand). - Provides decider and activity worker process for execution with Amazon SWF.
- Ships with the
simpleflowcommand.simpleflow --helpfor more information about the commands it supports.
You can read more in the Features section of the documentation.
Overview
Please read and even run the demo script to have a quick glance of
simpleflow commands. To run the demo you will need to start decider
and activity worker processes.
Start a decider with:
$ PYTHONPATH=$PWD simpleflow decider.start --domain TestDomain --task-list test examples.basic.BasicWorkflow
Start an activity worker with:
$ simpleflow worker.start --domain TestDomain --task-list quickstart
Then execute ./extras/demo.
More information
Read the main documentation at https://botify-labs.github.io/simpleflow/.
Project details
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 simpleflow-0.34.2.tar.gz.
File metadata
- Download URL: simpleflow-0.34.2.tar.gz
- Upload date:
- Size: 113.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
872097a6d8d85aa0b43ae9fd42cb8927fc4da36ce7c78839dc8b8f0d8a68b6e5
|
|
| MD5 |
4375b485514a2da8723ffee2174a3fc4
|
|
| BLAKE2b-256 |
0b15792c786477451f3822ba5da01d20d2acd0ed379e0004256897f009de93d6
|
File details
Details for the file simpleflow-0.34.2-py3-none-any.whl.
File metadata
- Download URL: simpleflow-0.34.2-py3-none-any.whl
- Upload date:
- Size: 157.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74584497f6325c200c3d553c6108e05a6ef6bf0d8a80ec932d4073282dbdcce9
|
|
| MD5 |
f152aae77e1dda435c4a8ba67afb5a76
|
|
| BLAKE2b-256 |
7ddba58036e90b8e90815cde8314e1b6b4c60a920f03e9e9ba1c81195c4db66c
|