simpleflow


Namesimpleflow JSON
Version 0.33.3 PyPI version JSON
download
home_pageNone
SummaryPython library for dataflow programming with Amazon SWF
upload_time2024-07-30 13:13:46
maintainerNone
docs_urlNone
authorGreg Leclercq
requires_python>=3.7
licenseMIT License
keywords amazon swf simple workflow simpleflow
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Simpleflow
==========

![PyPI - Version](https://img.shields.io/pypi/v/simpleflow)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/botify-labs/simpleflow/ci.yml)


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![PyPI - Version](https://img.shields.io/pypi/v/simpleflow)\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/botify-labs/simpleflow/ci.yml)\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"
}
        
Elapsed time: 1.13206s