{ "info": { "author": "Aengus Walton", "author_email": "ventolin@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "httsleep\n========\n\n|Build Status|\n\n|Coverage Status|\n\nhttsleep is a powerful polling library for Python.\n\nIdea\n----\n\nSet your success conditions, set a few alarms, and get polling!\n\n::\n\n until = {\n 'status_code': 200,\n 'jsonpath': [{'expression': 'status', 'value': 'OK'}]\n }\n alarms = [\n {'json': {'status': 'ERROR'}},\n {'jsonpath': [{'expression': 'status', 'value': 'UNKNOWN'},\n {'expression': 'owner', 'value': 'Chris'}],\n 'callback': is_job_really_failing},\n {'status_code': 404}\n ]\n try:\n response = httsleep(\n 'http://myendpoint/jobs/1', until, alarms=alarms,\n max_retries=20)\n except Alarm as e:\n print \"Response was:\", e.response\n print \"Alarm condition that matched was:\", e.alarm\n\nTranslated into English, this means:\n\n- Poll ``http://myendpoint/jobs/1`` -- at most 20 times -- until\n\n - it returns a status code of ``200``\n - AND the ``status`` key in its response has the value ``OK``\n\n- but raise an alarm if\n\n - the ``status`` key has the value ``ERROR``\n - OR the ``status`` key has the value ``UNKNOWN`` AND the ``owner``\n key has the value ``Chris`` AND the function\n ``is_job_really_dying`` returns ``True``\n - OR the status code is 404\n\nDocumentation\n-------------\n\nhttp://httsleep.readthedocs.io/\n\nInstalling\n----------\n\n::\n\n pip install httsleep\n\nTesting\n-------\n\n::\n\n pip install -e .\n pip install -r test-requirements.txt\n py.test\n\n.. |Build Status| image:: https://travis-ci.org/kopf/httsleep.svg?branch=master\n :target: https://travis-ci.org/kopf/httsleep\n.. |Coverage Status| image:: https://coveralls.io/repos/github/kopf/httsleep/badge.svg?branch=master\n :target: https://coveralls.io/github/kopf/httsleep?branch=master\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/kopf/httsleep", "keywords": "", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "httsleep", "package_url": "https://pypi.org/project/httsleep/", "platform": "", "project_url": "https://pypi.org/project/httsleep/", "project_urls": { "Homepage": "https://github.com/kopf/httsleep" }, "release_url": "https://pypi.org/project/httsleep/0.3.1/", "requires_dist": [ "jsonpath-rw", "requests" ], "requires_python": "", "summary": "A python library for polling HTTP endpoints - batteries included!", "version": "0.3.1" }, "last_serial": 4449907, "releases": { "0.1.1": [], "0.1.2": [ { "comment_text": "", "digests": { "md5": "44c3d173fb364dd320dc56551b382795", "sha256": "ebf8e0a2f4ea7141235bc479157d5a5e35f290af533fa69b7c5571cfd950f99a" }, "downloads": -1, "filename": "httsleep-0.1.2.tar.gz", "has_sig": false, "md5_digest": "44c3d173fb364dd320dc56551b382795", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22371, "upload_time": "2016-08-26T09:38:47", "url": "https://files.pythonhosted.org/packages/76/67/1ff6f46377beb58ba6bb5d9f579f644af3d62cb6083f176f60c41ad46aab/httsleep-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "cfc9ef561151ab1342b5d2568f7cf00f", "sha256": "3cc94b5b4746de87bb893bf05a77daac78034b7dbfb19f60709ff2432a4f0848" }, "downloads": -1, "filename": "httsleep-0.1.3.tar.gz", "has_sig": false, "md5_digest": "cfc9ef561151ab1342b5d2568f7cf00f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22451, "upload_time": "2016-08-28T08:03:07", "url": "https://files.pythonhosted.org/packages/f1/91/10c947bed68f920c20e284089241af32805022e9846460854b2ec68164c7/httsleep-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "171b5791b59228c5eb962f1d0e938fac", "sha256": "6b65723fc868d0a1e582a89e136eed6a0b40679cb660e65baebbbacaf0c48100" }, "downloads": -1, "filename": "httsleep-0.1.4.tar.gz", "has_sig": false, "md5_digest": "171b5791b59228c5eb962f1d0e938fac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22854, "upload_time": "2016-09-08T11:40:32", "url": "https://files.pythonhosted.org/packages/2d/af/cfbdbe8164f2a2f94b8e51dae3087cf73c3625b57cafb4afb70c3dea351d/httsleep-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9f53b21e7ef1bcbe3a7c312e22aba272", "sha256": "850322f9cee6a0f498041bbb95ec2ab826cb62fec036b9b89e7d7ee844031803" }, "downloads": -1, "filename": "httsleep-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9f53b21e7ef1bcbe3a7c312e22aba272", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5419, "upload_time": "2017-02-24T21:44:12", "url": "https://files.pythonhosted.org/packages/88/23/470a695066a5abb4e6515ec3f2a8d4486bf9acda6e197188fed2c70f0b29/httsleep-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43b0f111bd3367122ed61ccfd120c33e", "sha256": "11c2faa417845ebd2bdf131e755858a904bcc209c3600ce6dbd1789c9985a79a" }, "downloads": -1, "filename": "httsleep-0.2.0.tar.gz", "has_sig": false, "md5_digest": "43b0f111bd3367122ed61ccfd120c33e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23034, "upload_time": "2017-02-24T21:44:15", "url": "https://files.pythonhosted.org/packages/c1/5c/e40359e90aacd321054d92ab2cad3bfbfc1fad5e9a189826e15309698ead/httsleep-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "a569c0b5f032d57c7a6819df551af114", "sha256": "9e4dd49a497fbfc12aeb8fc33edabc3a0cf70904b1a6d3ca7a0cc5e583fcbed0" }, "downloads": -1, "filename": "httsleep-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a569c0b5f032d57c7a6819df551af114", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5501, "upload_time": "2017-07-11T14:17:08", "url": "https://files.pythonhosted.org/packages/f6/42/a2d5e9de1ec52c633138bcd6328d0a8146b1840a36492fce92d0c7b0d698/httsleep-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88b6740d5c76ec65c458758a28e67419", "sha256": "ef0a4e650feeb42c8a600e8a6faa70000276de87256bcccde52275659f5c5d1c" }, "downloads": -1, "filename": "httsleep-0.2.1.tar.gz", "has_sig": false, "md5_digest": "88b6740d5c76ec65c458758a28e67419", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23101, "upload_time": "2017-07-11T14:17:10", "url": "https://files.pythonhosted.org/packages/1a/6c/2e30ad69c7c8a286489e9d986f7819212a458cd764ece125a33ea76d76d7/httsleep-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "381f429630d533fa9aad4e0768d391f4", "sha256": "b86e102be2858b7e72de69e72c24e99989a43cdb90e0ba5fa17825c1425434b8" }, "downloads": -1, "filename": "httsleep-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "381f429630d533fa9aad4e0768d391f4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6968, "upload_time": "2017-07-11T14:19:39", "url": "https://files.pythonhosted.org/packages/5b/27/01c35f0921a84fdef2b208145c21807fc75b2ae9453e0b2a1ff94abde6b8/httsleep-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dca7607468139ac80d3614f15d45d570", "sha256": "d770770315f25680a28900802b9d4a531c292a7c72e9ae48922f93112bb94b48" }, "downloads": -1, "filename": "httsleep-0.2.2.tar.gz", "has_sig": false, "md5_digest": "dca7607468139ac80d3614f15d45d570", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23193, "upload_time": "2017-07-11T14:19:40", "url": "https://files.pythonhosted.org/packages/fd/67/d90b7ee415e102bb77943d21d0d38cfada1a8fbfe8dd8121647091a78a39/httsleep-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "d56243a7c7bd3ca8b1eafd5f75936e4d", "sha256": "4a3ba5d41463b8e0284007907ae8b8c4c0e402347cae4a094e1343f31b35bae1" }, "downloads": -1, "filename": "httsleep-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d56243a7c7bd3ca8b1eafd5f75936e4d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6862, "upload_time": "2017-11-19T15:05:18", "url": "https://files.pythonhosted.org/packages/61/c0/62ac70b068d02b6dd2a08dfb1884787e05fccf89349b1af36a2d81f83ccf/httsleep-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "949b9b20620c46f7cbf2a8899e9e6d93", "sha256": "837208bf99e3e72cf532d563de5ff5c4d73611ed00f77037b7a41f531f149da1" }, "downloads": -1, "filename": "httsleep-0.3.0.tar.gz", "has_sig": false, "md5_digest": "949b9b20620c46f7cbf2a8899e9e6d93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24608, "upload_time": "2017-11-19T15:05:20", "url": "https://files.pythonhosted.org/packages/bb/3a/a87351470df8d3f5a1e7fabe8f1994c314696fd71b32f81e4a7e1b05184f/httsleep-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "2bd5596af354f75963f08e376db136f8", "sha256": "83ba1e71a433dd473afd8276cf72bc2edb612b71dfdfb3ec66e6cd7ab40ed2bd" }, "downloads": -1, "filename": "httsleep-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2bd5596af354f75963f08e376db136f8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6878, "upload_time": "2018-11-04T15:24:19", "url": "https://files.pythonhosted.org/packages/b1/2a/987a71e1034ec25405cc01ca689d9ef859179d37eabe8a2e4c0950978ec2/httsleep-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "442db8e275508522efe0140b4a51ba4a", "sha256": "90f60e1ba8a14ead1d18f21d5d51c609bac4b2bdba86b852445b53decb0542e1" }, "downloads": -1, "filename": "httsleep-0.3.1.tar.gz", "has_sig": false, "md5_digest": "442db8e275508522efe0140b4a51ba4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24767, "upload_time": "2018-11-04T15:24:21", "url": "https://files.pythonhosted.org/packages/bd/e2/7b24f78b29e6fb7d0f611f9be8cd62b49c46f545487126af7588d838033f/httsleep-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2bd5596af354f75963f08e376db136f8", "sha256": "83ba1e71a433dd473afd8276cf72bc2edb612b71dfdfb3ec66e6cd7ab40ed2bd" }, "downloads": -1, "filename": "httsleep-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2bd5596af354f75963f08e376db136f8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6878, "upload_time": "2018-11-04T15:24:19", "url": "https://files.pythonhosted.org/packages/b1/2a/987a71e1034ec25405cc01ca689d9ef859179d37eabe8a2e4c0950978ec2/httsleep-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "442db8e275508522efe0140b4a51ba4a", "sha256": "90f60e1ba8a14ead1d18f21d5d51c609bac4b2bdba86b852445b53decb0542e1" }, "downloads": -1, "filename": "httsleep-0.3.1.tar.gz", "has_sig": false, "md5_digest": "442db8e275508522efe0140b4a51ba4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24767, "upload_time": "2018-11-04T15:24:21", "url": "https://files.pythonhosted.org/packages/bd/e2/7b24f78b29e6fb7d0f611f9be8cd62b49c46f545487126af7588d838033f/httsleep-0.3.1.tar.gz" } ] }