{ "info": { "author": "Marcel Janer Font", "author_email": "marceljanerfont@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: Jython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Communications", "Topic :: Internet", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Networking" ], "description": "kamma\n=====\n**kamma** is a very simplified task file queue that persists tasks and its needed data. It also has a worker that process all pending tasks.\n\n|Version| |Versions| |Status| |Coverage| |License|\n\nMotivation\n----------\nNowadays local disk access is an undervalued resource for many reasons, however stored data is always available even after power outage. By contrast, network resources or remote third parties are not always ready. Is for this reason I developed the **kamma** in order to isolate *dependent* tasks from the miseries of remote services. **kamma** would try process all pending tasks forever respecting the queue order.\n\nLimitations\n-----------\n* Up to ``(sys.maxint - FileQue.max_head_index)`` tasks can be queued as maximum.\n* **All task's arguments should be serializable by json**\n* Not recommended for high performance scenarios.\n\nInstall\n-------\nAs simple as: \n\n ``pip install kamma``\n\n\nExample\n-------\n\n.. code-block:: python\n\n import kamma\n\n # python 2 and 3 compatibility issue\n try:\n input = raw_input\n except NameError:\n pass\n\n # kamma worker\n app = kamma.Worker()\n\n # registering fibonacci callback in kamma app\n @app.task_callback(timeout=5, retry_wait=kamma.wait_fixed(1),\n retry_stop=kamma.stop_after_attempt(1))\n def fibonacci(n, level=0):\n result = 1\n if n < 0 or n > 100:\n raise kamma.AbortTask(\"n has to be 0 <= n <= 100\")\n if n > 1:\n result = fibonacci(n - 1, level=level + 1) + fibonacci(n - 2, level=level + 1)\n if level == 0:\n print(\"*** RESULT: fibonacci of '{}' is '{}' ***\".format(n, result))\n return result\n\n\n if __name__ == \"__main__\":\n # start listening for incoming tasks\n app.run_async()\n print(\"Enter the value of the fibonacci you want to compute, 0 to exit\")\n n = 1\n while True:\n n = int(input(\"\"))\n if n == 0:\n break\n # add new fibonacci task\n app.push_task(fibonacci, n=n)\n app.stop()\n\nThe complete example here: ``examples/example.py``\n\n\n.. |Version| image:: https://img.shields.io/pypi/v/kamma.svg?\n :target: http://badge.fury.io/py/kamma\n\n.. |Versions| image:: https://img.shields.io/pypi/pyversions/kamma.svg\n :target: https://pypi.python.org/pypi/kamma\n\n.. |Status| image:: https://img.shields.io/travis/marceljanerfont/kamma.svg?\n :target: https://travis-ci.org/marceljanerfont/kamma\n\n.. |Coverage| image:: https://img.shields.io/codecov/c/github/marceljanerfont/kamma.svg?\n :target: https://codecov.io/github/marceljanerfont/kamma?branch=production\n\n.. |License| image:: https://img.shields.io/pypi/l/kamma.svg?\n target: https://pypi.python.org/pypi/kamma\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/marceljanerfont/kamma", "keywords": "kamma,file queue,task,job,task queue", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "kamma", "package_url": "https://pypi.org/project/kamma/", "platform": "", "project_url": "https://pypi.org/project/kamma/", "project_urls": { "Homepage": "https://github.com/marceljanerfont/kamma" }, "release_url": "https://pypi.org/project/kamma/0.0.10/", "requires_dist": null, "requires_python": "", "summary": "kamma is a very simplified Task File Queue", "version": "0.0.10" }, "last_serial": 3049995, "releases": { "0.0.1": [], "0.0.10": [ { "comment_text": "", "digests": { "md5": "c9c432027d0e8854ccda9e7f99cb6a57", "sha256": "6f59ebd5f65d913f4bc02fe7ba5ff46214e23a76bf1f0a7d1613cd64b618c6e8" }, "downloads": -1, "filename": "kamma-0.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c9c432027d0e8854ccda9e7f99cb6a57", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10283, "upload_time": "2017-07-26T13:15:22", "url": "https://files.pythonhosted.org/packages/b5/ab/3114ccf83ee6cc4ce634da9962a0a64d11786a10b02607dfe859199e347a/kamma-0.0.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c99d459d6d03bbbb316734303174712a", "sha256": "ebb741ee6b83c00e6529446a999960582d0cb0046345ab81da948bd8167e2828" }, "downloads": -1, "filename": "kamma-0.0.10.tar.gz", "has_sig": false, "md5_digest": "c99d459d6d03bbbb316734303174712a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7696, "upload_time": "2017-07-26T13:15:23", "url": "https://files.pythonhosted.org/packages/59/7b/d51cfe53aa86f4c7156238ce57bfd0927645679cabe471b3020a3d9f7486/kamma-0.0.10.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "5f16a5d43b1aa8cba6badcf6dc246095", "sha256": "14d0d34447e837a77b8abc40eba21e3a772a70d75a8917aceabeb78e4212aae5" }, "downloads": -1, "filename": "kamma-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5f16a5d43b1aa8cba6badcf6dc246095", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6377, "upload_time": "2017-06-03T05:23:46", "url": "https://files.pythonhosted.org/packages/e1/f6/1bf2c963e9e0186dd6adf891882de66294aadc89f60d5c147b581eb3618d/kamma-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1108d45755ef82c99743251e24a5f03", "sha256": "07901899b3f35375d688568fbfc79bb79b76ea33ad7d1a4a6ce5a7cf682dc3aa" }, "downloads": -1, "filename": "kamma-0.0.3.tar.gz", "has_sig": false, "md5_digest": "e1108d45755ef82c99743251e24a5f03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4854, "upload_time": "2017-06-03T05:23:48", "url": "https://files.pythonhosted.org/packages/06/74/4fe69fb5c1e3b830b34f4994ce13c19023a4fb28b3e10c577298f8c8bcac/kamma-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "59b59e807db38704ef8e90a1985aa4ef", "sha256": "40f7c9b0a879f360f8403f3b89b9be5ec95dbc96027a8b4d2b3759f4508f7f35" }, "downloads": -1, "filename": "kamma-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "59b59e807db38704ef8e90a1985aa4ef", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7740, "upload_time": "2017-06-03T19:01:30", "url": "https://files.pythonhosted.org/packages/13/84/7968d0c2e367adbfa39cc42783320e5720facd40b3d649580d648a16ae64/kamma-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2879216445c7a6e7f0c918dded0e9f3b", "sha256": "4d5a1e94f171365b625047b0a73147d438b739b8fe9833066a605a7981c8c6c3" }, "downloads": -1, "filename": "kamma-0.0.4.tar.gz", "has_sig": false, "md5_digest": "2879216445c7a6e7f0c918dded0e9f3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5719, "upload_time": "2017-06-03T19:01:32", "url": "https://files.pythonhosted.org/packages/ba/b0/7ff333042165a530015dff0fb4ca8d75a6fcc9be4fba10cdcb776132cfa0/kamma-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "1a77a16fb1ce13b772607f8494dd987f", "sha256": "66755931cbfbdd0090415c0301046e548f4c0f7c6e47003fc6c980726481d7ad" }, "downloads": -1, "filename": "kamma-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1a77a16fb1ce13b772607f8494dd987f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7747, "upload_time": "2017-06-03T21:35:54", "url": "https://files.pythonhosted.org/packages/bc/03/e4182aee28534f552833b5d15bdcea61512883786eb4eafc4635ee5c1998/kamma-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdac8ac6d27fd30e5c5718551810f4a3", "sha256": "51558d165077ab3ee553900a1862681062d258e252028e34c1936279ae7467d6" }, "downloads": -1, "filename": "kamma-0.0.5.tar.gz", "has_sig": false, "md5_digest": "bdac8ac6d27fd30e5c5718551810f4a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5722, "upload_time": "2017-06-03T21:35:56", "url": "https://files.pythonhosted.org/packages/4b/e2/da9feb171ea529f2881966d6beb875178f21abdc54b96c283023c6d929fa/kamma-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "c239dec22a4006fd009cd4ac3a5ba8ea", "sha256": "c0e60b8cd96894429726cf4d1a687c1ea7e1f9e20a4c470af7f29fb2b20738bf" }, "downloads": -1, "filename": "kamma-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c239dec22a4006fd009cd4ac3a5ba8ea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10156, "upload_time": "2017-06-14T18:14:57", "url": "https://files.pythonhosted.org/packages/5f/6f/e53208416714d6faac7fbb93c05a55af17f884ebc3f5ec834ea6aa4e6a05/kamma-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf64849bf02979607bad17966eb6eb43", "sha256": "d921ed74ae9c1ea0668cc315372fa23bd9bbbbf5c907846397dd3294f0b0c7df" }, "downloads": -1, "filename": "kamma-0.0.6.tar.gz", "has_sig": false, "md5_digest": "bf64849bf02979607bad17966eb6eb43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7587, "upload_time": "2017-06-14T18:14:59", "url": "https://files.pythonhosted.org/packages/26/c4/9203963aeae0240906fa589c4cdfbd6f97f00809189a0b472527844105fc/kamma-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "343349c1bdc04e8f458db9d73f1fa969", "sha256": "061d945228fad9c2d9999370c98ce61feda65f037e9d01fcb01e7c1556d375e0" }, "downloads": -1, "filename": "kamma-0.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "343349c1bdc04e8f458db9d73f1fa969", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10254, "upload_time": "2017-06-16T09:54:43", "url": "https://files.pythonhosted.org/packages/18/86/a8e8e39acdcf10a9fad4ef7c8a70af94e423651b5fbf8dea0923fa93b6b1/kamma-0.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e242aca263a8081a285482a86289540", "sha256": "43c096e2a8128be71aeed8de06ec17f0ed33de029ebde2aa9667a5eb816a2b14" }, "downloads": -1, "filename": "kamma-0.0.7.tar.gz", "has_sig": false, "md5_digest": "8e242aca263a8081a285482a86289540", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7672, "upload_time": "2017-06-16T09:54:45", "url": "https://files.pythonhosted.org/packages/d0/4b/6d13a12376890a7288b4378ca1d90cc01591f05f69c56d989ba39745d688/kamma-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "ea2a8088cf84e375fa7036f57f5a3f90", "sha256": "0d6e67b90bb8bca51b7cad9ebae68b4857b3c00767470cfb8958ca8705f264f7" }, "downloads": -1, "filename": "kamma-0.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ea2a8088cf84e375fa7036f57f5a3f90", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10249, "upload_time": "2017-06-16T14:20:58", "url": "https://files.pythonhosted.org/packages/ad/9e/1269df4eec5c285d6b9cdd9a8b5a31a2f573c49ea2a21274f73ed2c21ea5/kamma-0.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67e0387727a48be148eac17602f93a60", "sha256": "de1ba3ec2e8f90238714951c5cf6921c1e583099a97d22339db20d4255accecf" }, "downloads": -1, "filename": "kamma-0.0.8.tar.gz", "has_sig": false, "md5_digest": "67e0387727a48be148eac17602f93a60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7668, "upload_time": "2017-06-16T14:21:00", "url": "https://files.pythonhosted.org/packages/f2/db/6fb18884ade32ebc2506d50d54c33ee0e99f1ddc1c2ae5a7433ece34139c/kamma-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "655d716305c295aaca332650acaeaed2", "sha256": "abe75ad02cabce6e8e7e7c0a75549a5d07e3f798185482e511cc4f53c9e28e6a" }, "downloads": -1, "filename": "kamma-0.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "655d716305c295aaca332650acaeaed2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10281, "upload_time": "2017-07-26T11:22:08", "url": "https://files.pythonhosted.org/packages/50/e1/75cfc76114d75909b0d93c904dc07f64c62ad82b0bea75ee0d34baf6ced5/kamma-0.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f148856b1f8c6359c8af94e5db77cb9", "sha256": "c9f737c5b4627e9b840b47a81be7c82edafd6693d0960e9c9b86740d05b0f9a4" }, "downloads": -1, "filename": "kamma-0.0.9.tar.gz", "has_sig": false, "md5_digest": "5f148856b1f8c6359c8af94e5db77cb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7701, "upload_time": "2017-07-26T11:22:10", "url": "https://files.pythonhosted.org/packages/c1/24/8e8d0c81b8414657693f1dcca5949ef3811613324f5ef6933c9372fad5e3/kamma-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c9c432027d0e8854ccda9e7f99cb6a57", "sha256": "6f59ebd5f65d913f4bc02fe7ba5ff46214e23a76bf1f0a7d1613cd64b618c6e8" }, "downloads": -1, "filename": "kamma-0.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c9c432027d0e8854ccda9e7f99cb6a57", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10283, "upload_time": "2017-07-26T13:15:22", "url": "https://files.pythonhosted.org/packages/b5/ab/3114ccf83ee6cc4ce634da9962a0a64d11786a10b02607dfe859199e347a/kamma-0.0.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c99d459d6d03bbbb316734303174712a", "sha256": "ebb741ee6b83c00e6529446a999960582d0cb0046345ab81da948bd8167e2828" }, "downloads": -1, "filename": "kamma-0.0.10.tar.gz", "has_sig": false, "md5_digest": "c99d459d6d03bbbb316734303174712a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7696, "upload_time": "2017-07-26T13:15:23", "url": "https://files.pythonhosted.org/packages/59/7b/d51cfe53aa86f4c7156238ce57bfd0927645679cabe471b3020a3d9f7486/kamma-0.0.10.tar.gz" } ] }