{ "info": { "author": "Giorgos Logiotatidis", "author_email": "seadog@sealabs.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "===============================\nbabis\n===============================\n\n\n.. image:: https://img.shields.io/pypi/v/babis.svg\n :target: https://pypi.python.org/pypi/babis\n\n.. image:: https://img.shields.io/travis/glogiotatidis/babis.svg\n :target: https://travis-ci.org/glogiotatidis/babis\n\nDecorator that pings URLs before and after executing the wrapped obj. Useful to\nmonitor cron jobs with services like `Dead Man's Snitch`_ or\n`HealthChecks.io`_.\n\nFeatures\n--------\n\n* Pre and After run pings\n* Custom user agent\n* Silent failures\n* Rate limiting\n\nUsage\n-----\n\nPing after successful execution::\n\n @babis.decorator(ping_after='http://healthchecks.io/XXX')\n def cron_job():\n pass\n\nSome services support pre and after hooks to measure the running time::\n\n @babis.decorator(ping_before='http://healthchecks.io/XXX', ping_after='http://healthchecks.io/XXX')\n def measured_cron_job():\n pass\n\nYou can also send a POST instead of the default GET::\n\n @babis.decorator(ping_before='http://healthchecks.io/XXX', method='post')\n def cron_job_with_post():\n pass\n\nAnd if you don't care if the ping fails, silence the errors::\n\n @babis.decorator(ping_before='http://healthchecks.io/XXX', silent_failures=True)\n def cron_job_silent_failure():\n pass\n\nYou can also rate limit the number of pings send to play nice with third party\nservices, let's say to at most 1 call in 5 minutes::\n\n @babis.decorator(ping_after='http://healthchecks.io/XXX', rate='1/5m')\n def cron_job_rate_limited():\n pass\n\n\nor at most 24 calls per day::\n\n @babis.decorator(ping_after='http://healthchecks.io/XXX', rate='24/1d')\n def cron_job_rate_limited():\n pass\n\nNote that if you defined both `ping_after` and `ping_before` URLs then each call\ncounts for two hits by the rate limiter.\n\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n.. _`Dead Man's Snitch`: https://deadmanssnitch.com/\n.. _`HealthChecks.io`: https://healthchecks.io/\n\n\n=======\nHistory\n=======\n\n0.2.0 (2017-05-24)\n------------------\n\n* Add rate limiting.\n\n\n0.1.0 (2016-08-23)\n------------------\n\n* First release on PyPI.\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/glogiotatidis/babis", "keywords": "babis", "license": "GNU General Public License v3", "maintainer": "", "maintainer_email": "", "name": "babis", "package_url": "https://pypi.org/project/babis/", "platform": "", "project_url": "https://pypi.org/project/babis/", "project_urls": { "Homepage": "https://github.com/glogiotatidis/babis" }, "release_url": "https://pypi.org/project/babis/0.2.2/", "requires_dist": [ "six (>=1.10)" ], "requires_python": "", "summary": "Decorator that pings URLs before and after executing the wrapped obj.", "version": "0.2.2" }, "last_serial": 5606882, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "a4a4408e9d870744a85dea09aeff306d", "sha256": "72164b5371c3a83dbd91dcc68876639dc11b1e9ead97a1601a768c3d996a5707" }, "downloads": -1, "filename": "babis-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a4a4408e9d870744a85dea09aeff306d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4625, "upload_time": "2016-08-26T11:31:03", "url": "https://files.pythonhosted.org/packages/15/28/543740496b6d68130d57d2ebd45c54e2017db6feb13ec626c2d18cc7cbac/babis-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d953c878e76caaddac018fce09cb8a7", "sha256": "788789bada547d170674981de1cf4a7b674af695ed51b255ef99c71aa4ba2ac4" }, "downloads": -1, "filename": "babis-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3d953c878e76caaddac018fce09cb8a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13597, "upload_time": "2016-08-26T11:31:06", "url": "https://files.pythonhosted.org/packages/a0/e9/3750a1f2f850df7ca1110a9dd19be80302d101a6c18fa26b5c94f2b29039/babis-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "21736f42f2c70f146929129c30620bb9", "sha256": "5a42b169597f316d7fa1793d4ca975d93f8534751f9613b3225f9410db8c1c35" }, "downloads": -1, "filename": "babis-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "21736f42f2c70f146929129c30620bb9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5277, "upload_time": "2017-05-24T09:22:32", "url": "https://files.pythonhosted.org/packages/75/f1/c9bf5c0aecc586720cb0a89ee5b1ad8ce909a2e1549d9c10c4670cb44f6d/babis-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86cedd50707e5bec531fb16ef5152b42", "sha256": "3cee2d9a5af32af0be972d3ba80df4b0df46206f0486c01d0516d5b3532f3f79" }, "downloads": -1, "filename": "babis-0.2.0.tar.gz", "has_sig": false, "md5_digest": "86cedd50707e5bec531fb16ef5152b42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7202, "upload_time": "2017-05-24T09:22:34", "url": "https://files.pythonhosted.org/packages/77/7f/fb44eb55b2698f916a1b3c99c81e3dcfd09da211306f22fcf8af96601540/babis-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "3d5c099dc4614e63d43a949af1642ba4", "sha256": "610416de748d0708a153dd7e2a42c95b4938689e033eb96b92e92b0a0049dc24" }, "downloads": -1, "filename": "babis-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3d5c099dc4614e63d43a949af1642ba4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5302, "upload_time": "2017-10-26T09:59:02", "url": "https://files.pythonhosted.org/packages/47/61/e3ad1278057d1ad2ca132a461d15ba0d28f298bc4c5644ba0eb4b37a11c3/babis-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d95f74a9c8ddfe60cce6480622f8a71c", "sha256": "d900322567fe7acd5898f91e1e9a21dff47b4d29a38c28c98f2e6e6745b5108b" }, "downloads": -1, "filename": "babis-0.2.1.tar.gz", "has_sig": false, "md5_digest": "d95f74a9c8ddfe60cce6480622f8a71c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7244, "upload_time": "2017-10-26T09:59:04", "url": "https://files.pythonhosted.org/packages/ca/7e/dbbc1484077b4eb37a8394d5bfbb90bde68a34e5ff68c9ab85253fed1f83/babis-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "f796edb9bde6afea0ddd010240e17139", "sha256": "c5cba6b0170ed02020d2cdd999da9d9fa4f4d4e725833e3ed98dad1b898d311b" }, "downloads": -1, "filename": "babis-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f796edb9bde6afea0ddd010240e17139", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4739, "upload_time": "2019-07-30T10:08:53", "url": "https://files.pythonhosted.org/packages/c8/bc/e9460095c98ed0575f79c4f12f402a0e7a2cb99301003fda94108a4b7dab/babis-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1f9815ed561df9148fc4275a3f05e46a", "sha256": "31095db6b412062b1dcdad9d94ff4c207299fb90135a950e430567863b20f071" }, "downloads": -1, "filename": "babis-0.2.2.tar.gz", "has_sig": false, "md5_digest": "1f9815ed561df9148fc4275a3f05e46a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6891, "upload_time": "2019-07-30T10:08:55", "url": "https://files.pythonhosted.org/packages/14/11/9f31fcc4c7148e0600bdd8284765b83c86e5a31eeb2d9bd45d0507aa308b/babis-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f796edb9bde6afea0ddd010240e17139", "sha256": "c5cba6b0170ed02020d2cdd999da9d9fa4f4d4e725833e3ed98dad1b898d311b" }, "downloads": -1, "filename": "babis-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f796edb9bde6afea0ddd010240e17139", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4739, "upload_time": "2019-07-30T10:08:53", "url": "https://files.pythonhosted.org/packages/c8/bc/e9460095c98ed0575f79c4f12f402a0e7a2cb99301003fda94108a4b7dab/babis-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1f9815ed561df9148fc4275a3f05e46a", "sha256": "31095db6b412062b1dcdad9d94ff4c207299fb90135a950e430567863b20f071" }, "downloads": -1, "filename": "babis-0.2.2.tar.gz", "has_sig": false, "md5_digest": "1f9815ed561df9148fc4275a3f05e46a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6891, "upload_time": "2019-07-30T10:08:55", "url": "https://files.pythonhosted.org/packages/14/11/9f31fcc4c7148e0600bdd8284765b83c86e5a31eeb2d9bd45d0507aa308b/babis-0.2.2.tar.gz" } ] }