Simpleflow
==========


Simpleflow is a Python library that provides abstractions to write programs in
the [distributed dataflow paradigm](https://en.wikipedia.org/wiki/Distributed_data_flow).
It coordinates the execution of distributed tasks with [Amazon SWF](https://aws.amazon.com/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](http://docs.python.org/3/library/concurrent.futures) library.
Features
--------
- Provides a `Future` abstraction 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 --local` command).
- Provides decider and activity worker process for execution with Amazon SWF.
- Ships with the `simpleflow` command. `simpleflow --help` for 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/.
Raw data
{
"_id": null,
"home_page": null,
"name": "simpleflow",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "tech@botify.com",
"keywords": "amazon swf, simple workflow, simpleflow",
"author": "Greg Leclercq",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/f5/b6/34efba9139ded449d26b5ec69af5db941a85300a7fdb324603cb9c31eca2/simpleflow-0.33.3.tar.gz",
"platform": null,
"description": "Simpleflow\n==========\n\n\n\n\n\nSimpleflow is a Python library that provides abstractions to write programs in\nthe [distributed dataflow paradigm](https://en.wikipedia.org/wiki/Distributed_data_flow).\nIt coordinates the execution of distributed tasks with [Amazon SWF](https://aws.amazon.com/swf/).\n\nIt relies on *futures* to describe the dependencies between tasks. A `Future` object\nmodels the asynchronous execution of a computation that may end. It tries to mimic\nthe interface of the Python [concurrent.futures](http://docs.python.org/3/library/concurrent.futures) library.\n\n\nFeatures\n--------\n\n- Provides a `Future` abstraction to define dependencies between tasks.\n- Define asynchronous tasks from callables.\n- Handle workflows with Amazon SWF.\n- Implement replay behavior like the Amazon Flow framework.\n- Handle retry of tasks that failed.\n- Automatically register decorated tasks.\n- Encodes/decodes large fields to S3 objects transparently (aka \"jumbo fields\").\n- Handle the completion of a decision with more than 100 tasks.\n- Provides a local executor to check a workflow without Amazon SWF (see\n `simpleflow --local` command).\n- Provides decider and activity worker process for execution with Amazon SWF.\n- Ships with the `simpleflow` command. `simpleflow --help` for more information\n about the commands it supports.\n\nYou can read more in the **Features** section of the documentation.\n\n\nOverview\n--------\n\nPlease read and even run the `demo` script to have a quick glance of\n`simpleflow` commands. To run the `demo` you will need to start decider\nand activity worker processes.\n\nStart a decider with:\n\n $ PYTHONPATH=$PWD simpleflow decider.start --domain TestDomain --task-list test examples.basic.BasicWorkflow\n\nStart an activity worker with:\n\n $ simpleflow worker.start --domain TestDomain --task-list quickstart\n\nThen execute `./extras/demo`.\n\n\nMore information\n----------------\n\nRead the main documentation at https://botify-labs.github.io/simpleflow/.\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Python library for dataflow programming with Amazon SWF",
"version": "0.33.3",
"project_urls": {
"changelog": "https://github.com/botify-labs/simpleflow/blob/main/CHANGELOG.md",
"documentation": "https://botify-labs.github.io/simpleflow",
"repository": "https://github.com/botify-labs/simpleflow"
},
"split_keywords": [
"amazon swf",
" simple workflow",
" simpleflow"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c4a4ef39199840ac478c43acf4337f4301a1c563eb20978286eae34e7539cb1b",
"md5": "6a4ea1fc5fbb79fffb6993598e373b93",
"sha256": "a7ea7c0b0acdf8009ffa2adf5d6743dd711ab393e92e21e116889cfa14847164"
},
"downloads": -1,
"filename": "simpleflow-0.33.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6a4ea1fc5fbb79fffb6993598e373b93",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 155169,
"upload_time": "2024-07-30T13:13:43",
"upload_time_iso_8601": "2024-07-30T13:13:43.871909Z",
"url": "https://files.pythonhosted.org/packages/c4/a4/ef39199840ac478c43acf4337f4301a1c563eb20978286eae34e7539cb1b/simpleflow-0.33.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f5b634efba9139ded449d26b5ec69af5db941a85300a7fdb324603cb9c31eca2",
"md5": "478cae7a4bfbb94475e13579a54aa1a9",
"sha256": "f9807379518ce337875e30852cdd81579ca3289019f297f08401c7d4698661ec"
},
"downloads": -1,
"filename": "simpleflow-0.33.3.tar.gz",
"has_sig": false,
"md5_digest": "478cae7a4bfbb94475e13579a54aa1a9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 110386,
"upload_time": "2024-07-30T13:13:46",
"upload_time_iso_8601": "2024-07-30T13:13:46.638158Z",
"url": "https://files.pythonhosted.org/packages/f5/b6/34efba9139ded449d26b5ec69af5db941a85300a7fdb324603cb9c31eca2/simpleflow-0.33.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-30 13:13:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "botify-labs",
"github_project": "simpleflow",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "simpleflow"
}