/botoflow

Botoflow is an asynchronous framework for Amazon SWF that helps you build SWF applications using Python

Primary LanguagePythonApache License 2.0Apache-2.0

Botoflow - Asynchronous Framework for Amazon SWF

Version Documentation Build Status Coverage

Botoflow is an asynchronous framework for Amazon SWF that helps you build SWF applications using Python. You can find the latest, most up to date, documentation at Read the Docs including the "Getting Started Guide".

Under the hood it uses botocore low level interface to interact with Amazon SWF.

Issue tracker

Please report any bugs or enhancement ideas using our issue tracker: https://github.com/boto/botoflow/issues . Also, feel free to ask any other project related questions there.

Development

Getting Started

Assuming that you have Python and virtualenv installed, set up your environment and install the required dependencies:

$ git clone https://github.com/boto/botoflow.git
$ cd botoflow
$ virtualenv venv
...
$ . venv/bin/activate
$ pip install -r requirements.txt
$ pip install -e .

Running Tests

You can run tests in all supported Python versions using tox. By default, it will run all of the unit tests, but you can also specify your own pytest options. Note that this requires that you have all supported versions of Python installed, otherwise you must pass -e or run the pytest command directly:

$ tox
$ tox test/unit/test_workflow_time.py
$ tox -e py27,py34 test/integration

You can also run individual tests with your default Python version:

$ py.test -v test/unit

Generating Documentation

Sphinx is used for documentation. You can generate HTML locally with the following:

$ pip install -r requirements-docs.txt
$ cd docs
$ make html