{"id":43067001,"url":"https://github.com/cloudchacho/taskhawk-python","last_synced_at":"2026-01-31T12:51:35.671Z","repository":{"id":42084498,"uuid":"383576233","full_name":"cloudchacho/taskhawk-python","owner":"cloudchacho","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-03T14:54:44.000Z","size":272,"stargazers_count":1,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-03T15:44:15.817Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudchacho.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-06T19:20:06.000Z","updated_at":"2025-04-03T14:54:49.000Z","dependencies_parsed_at":"2024-12-02T09:22:10.576Z","dependency_job_id":"0fa2570f-4199-4f12-9c24-bdcf2ab6f759","html_url":"https://github.com/cloudchacho/taskhawk-python","commit_stats":{"total_commits":138,"total_committers":12,"mean_commits":11.5,"dds":0.5217391304347826,"last_synced_commit":"cc36f36a799acc241f787f05090b72f66c9c7270"},"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/cloudchacho/taskhawk-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudchacho%2Ftaskhawk-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudchacho%2Ftaskhawk-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudchacho%2Ftaskhawk-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudchacho%2Ftaskhawk-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudchacho","download_url":"https://codeload.github.com/cloudchacho/taskhawk-python/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudchacho%2Ftaskhawk-python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28943638,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T12:10:04.904Z","status":"ssl_error","status_checked_at":"2026-01-31T12:09:58.894Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-31T12:51:34.819Z","updated_at":"2026-01-31T12:51:35.662Z","avatar_url":"https://github.com/cloudchacho.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Taskhawk Library for Python\n===========================\n\n.. image:: https://travis-ci.org/cloudchacho/taskhawk-python.svg?branch=master\n    :target: https://travis-ci.org/cloudchacho/taskhawk-python\n\n.. image:: https://coveralls.io/repos/github/cloudchacho/taskhawk-python/badge.svg?branch=master\n    :target: https://coveralls.io/github/cloudchacho/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 and Google PubSub, 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\nCommon required settings:\n\n.. code:: python\n\n    TASKHAWK_QUEUE = \"DEV-MYAPP\"\n\nWhen using AWS, additional required settings are:\n\n.. code:: python\n\n    AWS_ACCESS_KEY = \u003cYOUR AWS KEY\u003e\n    AWS_ACCOUNT_ID = \u003cYOUR AWS ACCOUNT ID\u003e\n    AWS_REGION = \u003cYOUR AWS REGION\u003e\n    AWS_SECRET_KEY = \u003cYOUR AWS SECRET KEY\u003e\n\n    TASKHAWK_CONSUMER_BACKEND = 'taskhawk.backends.aws.AWSSQSConsumerBackend'\n    TASKHAWK_PUBLISHER_BACKEND = 'taskhawk.backends.aws.AWSSNSPublisherBackend'\n\n\nIn case of GCP, additional required settings are:\n\n.. code:: python\n\n    TASKHAWK_CONSUMER_BACKEND = 'taskhawk.backends.gcp.GooglePubSubConsumerBackend'\n    TASKHAWK_PUBLISHER_BACKEND = 'taskhawk.backends.gcp.GooglePubSubPublisherBackend'\n\n\nIf running outside Google Cloud (e.g. locally), set ``GOOGLE_APPLICATION_CREDENTIALS``.\n\nWithin Google Cloud, these credentials and permissions are managed by Google using IAM.\n\nIf the Pub/Sub resources lie in a different project, set ``GOOGLE_CLOUD_PROJECT`` to the project id.\n\nFor Django projects, simple use `Django settings`_ to configure Taskhawk. For Flask projects, use `Flask config`_.\nFor other frameworks, you can either declare an environment variable called ``SETTINGS_MODULE`` that points to a\nmodule where settings may be found, or manually configure using ``taskhawk.conf.settings.configure_with_object``.\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) -\u003e 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/cloudchacho/taskhawk-python.git\n    $ cd taskhawk-python\n    $ pyenv virtualenv 3.7.7 taskhawk-python-3.7\n    ...\n    $ pyenv activate taskhawk-python-3.7\n    $ pip install -r requirements/dev-3.7.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 \u003chttps://github.com/cloudchacho/taskhawk-python/issues/new\u003e`__\n\n.. _Read the Docs: https://taskhawk.readthedocs.io/en/latest/\n.. _Django settings: https://docs.djangoproject.com/en/2.0/topics/settings/\n.. _Flask config: https://flask.palletsprojects.com/en/1.1.x/config/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudchacho%2Ftaskhawk-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudchacho%2Ftaskhawk-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudchacho%2Ftaskhawk-python/lists"}