Taskhawk Library for Python
TaskHawk is a replacement for celery that works on AWS SQS/SNS, while keeping things pretty simple and straightforward. Any unbound function can be converted into a TaskHawk task.
Only Python 3.6+ is supported currently.
You can find the latest, most up to date, documentation at Read the Docs.
Quick Start
First, install the library:
$ pip install taskhawkNext, set up a few configuration settings:
AWS_ACCESS_KEY = <YOUR AWS KEY>
AWS_ACCOUNT_ID = <YOUR AWS ACCOUNT ID>
AWS_REGION = <YOUR AWS REGION>
AWS_SECRET_KEY = <YOUR AWS SECRET KEY>
TASKHAWK_QUEUE = "DEV-MYAPP"For Django projects, simple use Django settings to configure Taskhawk, for non-Django projects, you
must declare an environment variable called SETTINGS_MODULE that points to a module
where settings may be found.
Then, simply add the decorator taskhawk.task to your function:
@taskhawk.task
def send_email(to: str, subject: str, from_email: str = None) -> None:
# send emailAnd finally, dispatch your function asynchronously:
send_email.dispatch('example@email.com', 'Hello!', from_email='example@spammer.com')Development
Getting Started
Assuming that you have Python, pyenv and pyenv-virtualenv installed, set up your
environment and install the required dependencies like this instead of
the pip install taskhawk defined above:
$ git clone https://github.com/Automatic/taskhawk-python.git
$ cd taskhawk-python
$ pyenv virtualenv 3.6.5 taskhawk-3.6
...
$ pyenv activate taskhawk-3.6
$ pip install -r requirements/dev-3.6.txtRunning Tests
You can run tests in using make test. By default,
it will run all of the unit and functional tests, but you can also specify your own
py.test options.
$ py.test
$ py.test tests/test_consumer.pyGenerating Documentation
Sphinx is used for documentation. You can generate HTML locally with the following:
$ pip install -e .[dev]
$ make docsGetting Help
We use GitHub issues for tracking bugs and feature requests.
- If it turns out that you may have found a bug, please open an issue

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
