{ "info": { "author": "Automatic Labs", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Taskhawk Library for Python\n===========================\n\n.. image:: https://travis-ci.org/Automatic/taskhawk-python.svg?branch=master\n :target: https://travis-ci.org/Automatic/taskhawk-python\n\n.. image:: https://coveralls.io/repos/github/Automatic/taskhawk-python/badge.svg?branch=master\n :target: https://coveralls.io/github/Automatic/taskhawk-python?branch=master\n\n.. image:: https://img.shields.io/pypi/v/taskhawk.svg?style=flat-square\n :target: https://pypi.python.org/pypi/taskhawk\n\n.. image:: https://img.shields.io/pypi/pyversions/taskhawk.svg?style=flat-square\n :target: https://pypi.python.org/pypi/taskhawk\n\n.. image:: https://img.shields.io/pypi/implementation/taskhawk.svg?style=flat-square\n :target: https://pypi.python.org/pypi/taskhawk\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/ambv/black\n\nTaskHawk is a replacement for celery that works on AWS SQS/SNS, while keeping things pretty simple and\nstraightforward. Any unbound function can be converted into a TaskHawk task.\n\nOnly Python 3.6+ is supported currently.\n\nYou can find the latest, most up to date, documentation at `Read the Docs`_.\n\n\nQuick Start\n-----------\n\nFirst, install the library:\n\n.. code:: sh\n\n $ pip install taskhawk\n\nNext, set up a few configuration settings:\n\n.. code:: python\n\n AWS_ACCESS_KEY = \n AWS_ACCOUNT_ID = \n AWS_REGION = \n AWS_SECRET_KEY = \n\n TASKHAWK_QUEUE = \"DEV-MYAPP\"\n\nFor Django projects, simple use `Django settings`_ to configure Taskhawk, for non-Django projects, you\nmust declare an environment variable called ``SETTINGS_MODULE`` that points to a module\nwhere settings may be found.\n\nThen, simply add the decorator ``taskhawk.task`` to your function:\n\n.. code:: python\n\n @taskhawk.task\n def send_email(to: str, subject: str, from_email: str = None) -> None:\n # send email\n\nAnd finally, dispatch your function asynchronously:\n\n.. code:: python\n\n send_email.dispatch('example@email.com', 'Hello!', from_email='example@spammer.com')\n\nDevelopment\n-----------\n\nGetting Started\n~~~~~~~~~~~~~~~\nAssuming that you have Python, ``pyenv`` and ``pyenv-virtualenv`` installed, set up your\nenvironment and install the required dependencies like this instead of\nthe ``pip install taskhawk`` defined above:\n\n.. code:: sh\n\n $ git clone https://github.com/Automatic/taskhawk-python.git\n $ cd taskhawk-python\n $ pyenv virtualenv 3.6.5 taskhawk-3.6\n ...\n $ pyenv activate taskhawk-3.6\n $ pip install -r requirements/dev-3.6.txt\n\nRunning Tests\n~~~~~~~~~~~~~\nYou can run tests in using ``make test``. By default,\nit will run all of the unit and functional tests, but you can also specify your own\n``py.test`` options.\n\n.. code:: sh\n\n $ py.test\n $ py.test tests/test_consumer.py\n\nGenerating Documentation\n~~~~~~~~~~~~~~~~~~~~~~~~\nSphinx is used for documentation. You can generate HTML locally with the\nfollowing:\n\n.. code:: sh\n\n $ pip install -e .[dev]\n $ make docs\n\n\nGetting Help\n------------\n\nWe use GitHub issues for tracking bugs and feature requests.\n\n* If it turns out that you may have found a bug, please `open an issue `__\n\n.. _Read the Docs: https://taskhawk.readthedocs.io/en/latest/\n.. _Django settings: https://docs.djangoproject.com/en/2.0/topics/settings/\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Automatic/taskhawk-python", "keywords": "python taskhawk", "license": "Apache Software License (Apache License 2.0)", "maintainer": "Aniruddha Maru", "maintainer_email": "aniruddhamaru@gmail.com", "name": "taskhawk", "package_url": "https://pypi.org/project/taskhawk/", "platform": "", "project_url": "https://pypi.org/project/taskhawk/", "project_urls": { "Homepage": "https://github.com/Automatic/taskhawk-python" }, "release_url": "https://pypi.org/project/taskhawk/2.0.0/", "requires_dist": [ "funcy", "retrying", "arrow", "boto3 ; extra == 'aws'", "flake8 ; extra == 'dev'", "Sphinx (>=1.7.2) ; extra == 'dev'", "pip-tools ; extra == 'dev'", "google-cloud-pubsub ; extra == 'gcp'", "redis ; extra == 'gcp'", "bumpversion ; extra == 'publish'", "twine ; extra == 'publish'", "pytest ; extra == 'test'", "flake8 ; extra == 'test'", "mypy ; extra == 'test'", "pytest-env ; extra == 'test'", "ipdb ; extra == 'test'", "coverage ; extra == 'test'", "coveralls ; extra == 'test'", "pytest-cov ; extra == 'test'", "black ; extra == 'test'", "moto ; extra == 'test'" ], "requires_python": ">=3.6", "summary": "Taskhawk Python Library", "version": "2.0.0" }, "last_serial": 5333821, "releases": { "1.0.3": [ { "comment_text": "", "digests": { "md5": "80e69b45ed153b407eb12ee40727eb39", "sha256": "ca948af6d3c7c0e72e5b816325c157ac51821d3924fd88f8de35727467dd0a09" }, "downloads": -1, "filename": "taskhawk-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "80e69b45ed153b407eb12ee40727eb39", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14671, "upload_time": "2018-04-17T19:53:11", "url": "https://files.pythonhosted.org/packages/1d/c6/31a4c194d8ed35639a3872a1064cc5e4e3232164fdb16348a7d9e00c0d26/taskhawk-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a50a2fe6a0e029f66228c29ae2ca2c8", "sha256": "7fc3fff173757cca8eacdc4712563e34886db844f84f81a71e50883c92a42499" }, "downloads": -1, "filename": "taskhawk-1.0.3.tar.gz", "has_sig": false, "md5_digest": "1a50a2fe6a0e029f66228c29ae2ca2c8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 20492, "upload_time": "2018-04-17T19:49:13", "url": "https://files.pythonhosted.org/packages/d6/57/9295cc75a14aaa3a34c868dc7a16c5cd80f09b6ee33aa2dc02702a756d7a/taskhawk-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "1aee45ad2835cc4266e1d7ec6fde7558", "sha256": "cc689c0db2d11e35368fd1cecb218bccdd32e136e3e10d573797e726be2c1372" }, "downloads": -1, "filename": "taskhawk-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1aee45ad2835cc4266e1d7ec6fde7558", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14869, "upload_time": "2018-04-18T18:15:33", "url": "https://files.pythonhosted.org/packages/43/eb/4710817663ed32c6984dbfa2c6633dac2796df666e5c3ad61a49f39d078d/taskhawk-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1fa0f6a894f4f98336770f9811277d22", "sha256": "fa10930314f516c98cdba8c204b4b2bea663fe4a24ffbdc89cc89154bfcbde9a" }, "downloads": -1, "filename": "taskhawk-1.0.4.tar.gz", "has_sig": false, "md5_digest": "1fa0f6a894f4f98336770f9811277d22", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 20719, "upload_time": "2018-04-18T18:15:34", "url": "https://files.pythonhosted.org/packages/d8/ef/ca1ca165cb72081a76d33ee8e4786bb97ef16aa7d48bb1f21ece4821c6c2/taskhawk-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "ce32b6833cac8b9ef2374880ec0cf2c9", "sha256": "9b94e3a801a23341d3ab63b6ba6dba72121785627b0aa0878835c5b0e1fac3db" }, "downloads": -1, "filename": "taskhawk-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "ce32b6833cac8b9ef2374880ec0cf2c9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14959, "upload_time": "2018-04-24T22:33:01", "url": "https://files.pythonhosted.org/packages/6e/53/0dcf59088ed53b5f7f580f381d638b6846bf0c58955569736b70a20749dd/taskhawk-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "69c31dbcb040580f5d154bc757b4336d", "sha256": "1d60a8b9e3877b2ae9f261b77fdbca9fe84fe22b575ae18590a25c5ef4d8d367" }, "downloads": -1, "filename": "taskhawk-1.0.5.tar.gz", "has_sig": false, "md5_digest": "69c31dbcb040580f5d154bc757b4336d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 20791, "upload_time": "2018-04-24T22:33:02", "url": "https://files.pythonhosted.org/packages/ff/31/c4f1267c8b685ae20cb30c0a9a9647b509da71fecff18c02dd711e2cfa55/taskhawk-1.0.5.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "34527a13d57019ac0d2cd34ad35eb294", "sha256": "11370b086abf6a5412b1b9d384280b0e7c19eb4ce772d94bc3075bfa4fc2bf9f" }, "downloads": -1, "filename": "taskhawk-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "34527a13d57019ac0d2cd34ad35eb294", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15146, "upload_time": "2018-04-26T20:33:49", "url": "https://files.pythonhosted.org/packages/15/c1/366365c77b21a4a67f3eed03b4be6508d5a57c3485c0f83dd11e8166fc26/taskhawk-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac3a4f2a5fc18ab437cb363dde93008f", "sha256": "4d00c4252cdebb4178af8b4942d1d274fe2eb8a457bf1b2537ee36ea11185715" }, "downloads": -1, "filename": "taskhawk-1.1.0.tar.gz", "has_sig": false, "md5_digest": "ac3a4f2a5fc18ab437cb363dde93008f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 20972, "upload_time": "2018-04-26T20:33:51", "url": "https://files.pythonhosted.org/packages/e5/5b/61f72c7f7296dc5d6e96221fd893859ac3d7aeb37e7f4f17efac42389380/taskhawk-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "b32929666097e99b20cad3db03f92594", "sha256": "c9a7fd02f4be870fc3bdc463d8ec83bcb753edc36c6c4c81823ce4aa2315fe8e" }, "downloads": -1, "filename": "taskhawk-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b32929666097e99b20cad3db03f92594", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15143, "upload_time": "2018-04-26T20:40:28", "url": "https://files.pythonhosted.org/packages/1a/00/40976eb71a4476b8895afff2c62968e9de8cc2e466ca560270ba19472d97/taskhawk-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0093bfc7d2f7e9de20fdfe626ebf7da9", "sha256": "c0cffc2d1a160f50903a6f379fb73ba5b62505f2b123f590fe19c566b23170af" }, "downloads": -1, "filename": "taskhawk-1.1.1.tar.gz", "has_sig": false, "md5_digest": "0093bfc7d2f7e9de20fdfe626ebf7da9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 20987, "upload_time": "2018-04-26T20:40:29", "url": "https://files.pythonhosted.org/packages/38/23/8762ffa75a0edc260ff87c47a642bc2b5efa1e7111747bdaf6fb9413f976/taskhawk-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "b9178ad66e2fb68a15bbe0e5268ab569", "sha256": "538d02ff9ed6a571075b07c6256f38ee27f3269bffdf49a5be581eb1e4cff239" }, "downloads": -1, "filename": "taskhawk-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b9178ad66e2fb68a15bbe0e5268ab569", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15210, "upload_time": "2018-05-04T15:25:00", "url": "https://files.pythonhosted.org/packages/cd/25/2e7b71ff807c1751cc57109931e56711d3c9c1705f8d233ead2a1fcc1d58/taskhawk-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ce288173dfb1c1063b5074ab99627c0", "sha256": "2850e5fe6555191fcf93ad0a0f7ad23b93e9b0a4b28aaa557d77838aac6e6a7f" }, "downloads": -1, "filename": "taskhawk-1.2.0.tar.gz", "has_sig": false, "md5_digest": "9ce288173dfb1c1063b5074ab99627c0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 21162, "upload_time": "2018-05-04T15:25:01", "url": "https://files.pythonhosted.org/packages/0e/1d/e0e4abd803411f97d09115252bb42c8d81ad7fc17286360d6f3c764eecba/taskhawk-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "fbbd75d1749fb206dc3963551f9ec81a", "sha256": "c87a66675f3c0bd5e34992bb4984dba1087eac7081be306cbe8339848f1e6141" }, "downloads": -1, "filename": "taskhawk-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fbbd75d1749fb206dc3963551f9ec81a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15278, "upload_time": "2018-05-08T21:34:58", "url": "https://files.pythonhosted.org/packages/37/b7/122a77fe7f1bf8bc04aa370cb737911230614cc1829dbe6f349f9745810e/taskhawk-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1e35711ebc7e9792b0a03003f78ef469", "sha256": "66462ab4412f1e21d328ce877e5ffa7af223c04219dff0349373fcc4e7bd9ced" }, "downloads": -1, "filename": "taskhawk-1.3.0.tar.gz", "has_sig": false, "md5_digest": "1e35711ebc7e9792b0a03003f78ef469", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 21300, "upload_time": "2018-05-08T21:34:59", "url": "https://files.pythonhosted.org/packages/bd/d3/c4874b6dba9361f9bd19f441a2864dcb212fdb6c04975f9398df578b7fe9/taskhawk-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "69e617bc65a825174b02a451b68bc42e", "sha256": "ae3749b58c56b78305d77ac28a24f5f8d7487829f8d16979c82855ccf81d9ff8" }, "downloads": -1, "filename": "taskhawk-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "69e617bc65a825174b02a451b68bc42e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15127, "upload_time": "2018-06-04T22:01:23", "url": "https://files.pythonhosted.org/packages/0f/57/18a3118e7451316bfa3fa59b64db262653fbb34e051b5ba561ce60d3e48d/taskhawk-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e3c064bed37d2153bb2907d96bd4dfa5", "sha256": "79bcafe95d8fc3f6c35fef3b450bfad56c209fbad3571333aac11d7e5b0062b5" }, "downloads": -1, "filename": "taskhawk-1.4.0.tar.gz", "has_sig": false, "md5_digest": "e3c064bed37d2153bb2907d96bd4dfa5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 21736, "upload_time": "2018-06-04T22:01:24", "url": "https://files.pythonhosted.org/packages/50/13/96bc4dd866ea7f55b81be1ae0c1be318f2989530436bdd195298d95481ef/taskhawk-1.4.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "7b9edeff9c838ab85bd3599be86ced60", "sha256": "80783e78e8715d0465e289cd15a63b8d8df89e3b679180f8ac7efd441faf8d28" }, "downloads": -1, "filename": "taskhawk-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7b9edeff9c838ab85bd3599be86ced60", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 25383, "upload_time": "2019-05-29T18:43:26", "url": "https://files.pythonhosted.org/packages/0a/ad/e330ffb3cadef3a73314ebebe0d72d8a41a4a94e02bbdb0561f7d8cda6bd/taskhawk-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc512be7f7cd1fe135fa83c08e313f3a", "sha256": "67e1ff4c82e9ba93e75b0d55e2614ae51a169d69f621e861595fa4a2038fc48b" }, "downloads": -1, "filename": "taskhawk-2.0.0.tar.gz", "has_sig": false, "md5_digest": "dc512be7f7cd1fe135fa83c08e313f3a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 27983, "upload_time": "2019-05-29T18:43:28", "url": "https://files.pythonhosted.org/packages/8f/06/16fb1435e02ed8560b676fce8c36ab466dc8715a9e9173f2455687cc13bc/taskhawk-2.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7b9edeff9c838ab85bd3599be86ced60", "sha256": "80783e78e8715d0465e289cd15a63b8d8df89e3b679180f8ac7efd441faf8d28" }, "downloads": -1, "filename": "taskhawk-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7b9edeff9c838ab85bd3599be86ced60", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 25383, "upload_time": "2019-05-29T18:43:26", "url": "https://files.pythonhosted.org/packages/0a/ad/e330ffb3cadef3a73314ebebe0d72d8a41a4a94e02bbdb0561f7d8cda6bd/taskhawk-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc512be7f7cd1fe135fa83c08e313f3a", "sha256": "67e1ff4c82e9ba93e75b0d55e2614ae51a169d69f621e861595fa4a2038fc48b" }, "downloads": -1, "filename": "taskhawk-2.0.0.tar.gz", "has_sig": false, "md5_digest": "dc512be7f7cd1fe135fa83c08e313f3a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 27983, "upload_time": "2019-05-29T18:43:28", "url": "https://files.pythonhosted.org/packages/8f/06/16fb1435e02ed8560b676fce8c36ab466dc8715a9e9173f2455687cc13bc/taskhawk-2.0.0.tar.gz" } ] }