{ "info": { "author": "PeopleDoc", "author_email": "joachim.jablon@people-doc.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "Procrastinate: PostgreSQL-based Task Queue for Python\n=====================================================\n\n.. image:: https://badge.fury.io/py/procrastinate.svg\n :target: https://pypi.org/pypi/procrastinate\n :alt: Deployed to PyPI\n\n.. image:: https://readthedocs.org/projects/procrastinate/badge/?version=latest\n :target: http://procrastinate.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://travis-ci.org/peopledoc/procrastinate.svg?branch=master\n :target: https://travis-ci.org/peopledoc/procrastinate\n :alt: Continuous Integration Status\n\n.. image:: https://codecov.io/gh/peopledoc/procrastinate/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/peopledoc/procrastinate\n :alt: Coverage Status\n\n.. image:: https://img.shields.io/badge/License-MIT-green.svg\n :target: https://github.com/peopledoc/procrastinate/blob/master/LICENSE\n :alt: MIT License\n\n.. image:: https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg\n :target: CODE_OF_CONDUCT.md\n :alt: Contributor Covenant\n\n\nProcrastinate is an open-source Python 3.6+ distributed task processing\nlibrary, leveraging PostgreSQL to store task definitions, manage locks and\ndispatch tasks.\n\nIn other words, from your main code, you call specific functions (tasks) in a\nspecial way and instead of being run on the spot, they're scheduled to\nbe run elsewhere, now or in the future.\n\nHere's an example\n\n.. code-block:: python\n\n # mycode.py\n\n # Make a app in your code\n app = procrastinate.App(job_store=procrastinate.PostgresJobStore())\n\n # Then define tasks\n @app.task(queue=\"sums\")\n def sum(a, b):\n with open(\"myfile\", \"w\") as f:\n f.write(str(a + b))\n\n # Launch a job\n sum.defer(a=3, b=5)\n\n # Somewhere in your program, run a worker\n worker = procrastinate.Worker(\n app=app,\n queues=[\"sums\"]\n )\n worker.run()\n\nThe worker will run the job, which will create a text file\nnamed ``myfile`` with the result of the sum ``3 + 5`` (that's ``8``).\n\nSimilarly, from the command line:\n\n.. code-block:: bash\n\n export PROCRASTINATE_APP=\"mycode.app\"\n\n # Launch a job\n procrastinate defer mycode.sum '{\"a\": 3, \"b\": 5}'\n\n # Run a worker\n procrastinate worker sums\n\nThere are quite a few interesting features that Procrastinate adds to the mix.\nYou can head to the Quickstart section for a general tour or\nto the How-To sections for specific features. The Discussion\nsection should hopefully answer your questions. Otherwise,\nfeel free to open an `issue `_.\n\nThe project is still quite early-stage and will probably evolve.\n\n*Note to my future self: add a quick note here on why this project is named*\n\"Procrastinate_\".\n\n.. _Procrastinate: https://en.wikipedia.org/wiki/Procrastination\n\n.. Below this line is content specific to the README that will not appear in the doc.\n.. end-of-index-doc\n\nWhere to go from here\n---------------------\n\nThe complete docs_ is probably the best place to learn about the project.\n\nIf you encounter a bug, or want to get in touch, you're always welcome to open a\nticket_.\n\n.. _docs: http://procrastinate.readthedocs.io/en/latest\n.. _ticket: https://github.com/peopledoc/procrastinate/issues/new\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/peopledoc/procrastinate", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "procrastinate", "package_url": "https://pypi.org/project/procrastinate/", "platform": "", "project_url": "https://pypi.org/project/procrastinate/", "project_urls": { "Homepage": "https://github.com/peopledoc/procrastinate" }, "release_url": "https://pypi.org/project/procrastinate/0.2.1/", "requires_dist": [ "attrs", "pendulum", "click", "typing-extensions", "importlib-metadata", "importlib-resources", "psycopg2 ; platform_system != \"Darwin\"", "psycopg2-binary ; platform_system == \"Darwin\"", "aiopg ; extra == 'async'", "black ; extra == 'dev'", "isort ; extra == 'dev'", "doc8 ; extra == 'docs'", "sphinx ; extra == 'docs'", "sphinx-autodoc-typehints ; extra == 'docs'", "sphinxcontrib-programoutput ; extra == 'docs'", "black ; extra == 'lint'", "flake8 ; extra == 'lint'", "isort ; extra == 'lint'", "mypy ; extra == 'lint'", "check-manifest ; extra == 'lint'", "aiopg ; extra == 'test'", "pytest ; extra == 'test'", "pytest-mock ; extra == 'test'", "pytest-cov ; extra == 'test'", "pytest-click ; extra == 'test'", "pytest-asyncio ; extra == 'test'" ], "requires_python": "", "summary": "Postgres-based distributed task processing library", "version": "0.2.1" }, "last_serial": 5943108, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "35aaf9a03d70b2e2d126b052b46a6ecf", "sha256": "1a41f2a711b30f722a89c1c7d16fb17a902efd1632aadee668809f346f38fd55" }, "downloads": -1, "filename": "procrastinate-0.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "35aaf9a03d70b2e2d126b052b46a6ecf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1617, "upload_time": "2019-08-15T20:07:22", "url": "https://files.pythonhosted.org/packages/96/de/adf010f15586bf5798499a74496942d085fc5d1c96bd4041dad8fb866198/procrastinate-0.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38822c3c50a66b0490641141cd3ba2db", "sha256": "51d158920938f25d16b6728541584e0e0f2009337107575cc184c2c8b0370c4d" }, "downloads": -1, "filename": "procrastinate-0.0.0.tar.gz", "has_sig": false, "md5_digest": "38822c3c50a66b0490641141cd3ba2db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1470, "upload_time": "2019-08-15T20:07:24", "url": "https://files.pythonhosted.org/packages/5e/d4/3caf2503a7e7106e2ae1a0917a4679a825165068f02f49c4d62fe9cc995f/procrastinate-0.0.0.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "b31842594a148eedf26f13d0d6aed397", "sha256": "5032ad97ded5f7900d5f53bc8aa24d0be19be41a094ebb5e3ef1d1caf6f27dad" }, "downloads": -1, "filename": "procrastinate-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b31842594a148eedf26f13d0d6aed397", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15234, "upload_time": "2019-08-15T22:34:03", "url": "https://files.pythonhosted.org/packages/13/3a/80801eb12a63d0e38f94e930bf96a68e7731612ae3ec1a6d1ca0b0066d60/procrastinate-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "418ea8b59cc15224c95d99bc6eaca245", "sha256": "bab6b07c89ef65be5dd06c363173ce97b1b536d19218dddebcdd85944ad2c274" }, "downloads": -1, "filename": "procrastinate-0.1.0.tar.gz", "has_sig": false, "md5_digest": "418ea8b59cc15224c95d99bc6eaca245", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19299, "upload_time": "2019-08-15T22:34:05", "url": "https://files.pythonhosted.org/packages/3f/c3/f1759e2716e0c013209a6f844b70cbb5313e5e5588608e00763a4a278ce5/procrastinate-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9d02ce068b33606905d6306b6dda32a5", "sha256": "6d906af41292341dbbba99ef86934dc3d55c004e2a2c70220df4fdce032a826e" }, "downloads": -1, "filename": "procrastinate-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9d02ce068b33606905d6306b6dda32a5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28709, "upload_time": "2019-10-08T06:39:13", "url": "https://files.pythonhosted.org/packages/09/b0/d2d5bd2fbbbb2068cadce916be9b1d7241c12a924d69b7ab162c5d24d047/procrastinate-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e18dc74867accb8ee1ff97e4251b9ad9", "sha256": "0784a0c862dd1b2243f5fafc693ed3de77f75a5ef66181a1294de192acc90600" }, "downloads": -1, "filename": "procrastinate-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e18dc74867accb8ee1ff97e4251b9ad9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22336, "upload_time": "2019-10-08T06:39:14", "url": "https://files.pythonhosted.org/packages/c9/00/b3070672ed0853365e9eecb1642fd8740300d99e99c87befbfaf7eda8e7d/procrastinate-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "97ba20b2fdaa29155ca006bf6cc55fac", "sha256": "b98c807a6ed0b530f1358cdaac8d97f4e29ea0e0745824904388d3498eeb2c15" }, "downloads": -1, "filename": "procrastinate-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "97ba20b2fdaa29155ca006bf6cc55fac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30056, "upload_time": "2019-10-08T06:41:26", "url": "https://files.pythonhosted.org/packages/4c/36/62e37446bec6312d5b90953f1e6e9e755d6ea94bc15b66a8f1babbb14b4e/procrastinate-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a24b0fc69fdd9d3663aa59fc12fec08", "sha256": "e1d8ecd109ef570ff639bcd1e5cd99162d7b4d4f721eacaa7a8094a626f8f66e" }, "downloads": -1, "filename": "procrastinate-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2a24b0fc69fdd9d3663aa59fc12fec08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23934, "upload_time": "2019-10-08T06:41:28", "url": "https://files.pythonhosted.org/packages/d1/6e/c298a186224206a1689d190201c396871e6d1ecae4a3031ae09c6cac709d/procrastinate-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "97ba20b2fdaa29155ca006bf6cc55fac", "sha256": "b98c807a6ed0b530f1358cdaac8d97f4e29ea0e0745824904388d3498eeb2c15" }, "downloads": -1, "filename": "procrastinate-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "97ba20b2fdaa29155ca006bf6cc55fac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30056, "upload_time": "2019-10-08T06:41:26", "url": "https://files.pythonhosted.org/packages/4c/36/62e37446bec6312d5b90953f1e6e9e755d6ea94bc15b66a8f1babbb14b4e/procrastinate-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a24b0fc69fdd9d3663aa59fc12fec08", "sha256": "e1d8ecd109ef570ff639bcd1e5cd99162d7b4d4f721eacaa7a8094a626f8f66e" }, "downloads": -1, "filename": "procrastinate-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2a24b0fc69fdd9d3663aa59fc12fec08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23934, "upload_time": "2019-10-08T06:41:28", "url": "https://files.pythonhosted.org/packages/d1/6e/c298a186224206a1689d190201c396871e6d1ecae4a3031ae09c6cac709d/procrastinate-0.2.1.tar.gz" } ] }