{ "info": { "author": "J C Lawrence", "author_email": "claw@kanga.nu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", "Topic :: Utilities" ], "description": "retryp\n======\n\nFrom the `Jargon File `_:\n\n::\n\n The -P Convention\n\n Turning a word into a question by appending the syllable \u2018P\u2019;\n from the LISP convention of appending the letter \u2018P\u2019 to denote\n a predicate (a boolean-valued function). The question should\n expect a yes/no answer, though it needn't. (See T and NIL.)\n\n``retryp`` is yet another retry decorator, with nothing particularly\nspecial about it other than it being both well-featured and not\nrewriting or hiding the calling signature of the wrapped method (allows\nfor accurate code introspection -- a Big Deal for me).\n\nThanks go to Graham Dumpleton and his ``wrapt`` package for that latter.\n\nArguments\n---------\n\nbackoff\n Default: 10\n\n A multiplicative factor applied to the delay, used to provide\n increasing backoff as subsequent attempts continue to fail.\n\ncount\n Default: 10\n\n Number of times to retry the wapped item. If set to \"0\", will retry\n 1073741823 times because a) that's a lot, b) give up already, and c)\n nothing lasts forever.\n\ndelay\n Default: 10 (seconds)\n\n The base delay between retry attempts.\n\nexpose_last_exc\n Default: False\n\n By default ``retryp`` will raise ``retryp.FailedTooOften`` if the\n wrapped item continues to fail after the requested number of\n attempts. If ``expose_last_exc`` is set, then the exception raised\n by the wrapped item will be raised if the last attempt results in an\n exception.\n\njitter\n Default 0\n\n Extra random seconds will be added to each retry delay, ranging from\n 0 to the value of ``jitter``.\n\nlog_faults\n Default: False\n\n Log every exception raised by the wrapped item using\n logtool.log_fault.\n\nlog_faults_level\n Default: logging.DEBUG\n\n Logging level at which exceptions will be logged by\n ``logtool.log_fault()`` when ``log_faults`` is set.\n\nname\n Default: None\n\n String to use in log messages to describe what is being retried.\n\nrefuse_rc_fn\n Default: None\n\n If provided, the return of the wrapped item will be passed as the\n only argument to this function. If ``refuse_rc_fn (rc)`` evaluates\n to True, then no further retries will be made.\n\nrefuse_exc_fn\n Default: None\n\n If provided, any exception raised by the wrapped item will be passed\n as the only argument to this function. If ``refuse_exc_fn (e)``\n evaluates to True, then the exception will be raised again and\n retry attempts will cease.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/clearclaw/retryp", "keywords": "decorator exception retry retrying", "license": "LGPL v3.0", "maintainer": null, "maintainer_email": null, "name": "retryp", "package_url": "https://pypi.org/project/retryp/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/retryp/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/clearclaw/retryp" }, "release_url": "https://pypi.org/project/retryp/0.3.post9/", "requires_dist": null, "requires_python": null, "summary": "Well-featured retry decorator", "version": "0.3.post9" }, "last_serial": 2098230, "releases": { "0.1.11": [ { "comment_text": "", "digests": { "md5": "ba66b70dafda95f7b962bb2cedaf04c1", "sha256": "4be4bde65689d5000a9c482232903caaab532bcc5e3229515cdb8ade6d28f6e0" }, "downloads": -1, "filename": "retryp-0.1.11.tar.gz", "has_sig": false, "md5_digest": "ba66b70dafda95f7b962bb2cedaf04c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3943, "upload_time": "2015-07-23T04:48:44", "url": "https://files.pythonhosted.org/packages/32/69/a7030e72d99a2bfacd8983ac562393a167811a6b1fc327342f0b9a311bde/retryp-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "10a41978e0fac357f3ceb52c091d72e5", "sha256": "9aafed84a39e61a5a4e53004977b19688795988b6e1f966d65fe5d6f106de197" }, "downloads": -1, "filename": "retryp-0.1.12.tar.gz", "has_sig": false, "md5_digest": "10a41978e0fac357f3ceb52c091d72e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3936, "upload_time": "2015-07-23T05:57:32", "url": "https://files.pythonhosted.org/packages/40/b3/41ff5d20440ff24f62ff24614219b4a1a201245b02c41cffde2dce468a61/retryp-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "9d35d51d1640e6039cfde2704fc8db4d", "sha256": "909ecbd87f21dc0ce877376e096613b84da0ffe249b38b69cf0f505b13e26cc8" }, "downloads": -1, "filename": "retryp-0.1.13.tar.gz", "has_sig": false, "md5_digest": "9d35d51d1640e6039cfde2704fc8db4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15865, "upload_time": "2015-08-02T04:07:12", "url": "https://files.pythonhosted.org/packages/96/97/82a36a7c28c5d3e695d5cad2c623ea8de3a9bcd68df8dea41f98228d0490/retryp-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "af62edfc8ed467278eeb15c1a803f0b2", "sha256": "b1e075e6879b3c89c4a5aaf835320f3b093e648cf6953ef54e6d4949724551ea" }, "downloads": -1, "filename": "retryp-0.1.14.tar.gz", "has_sig": false, "md5_digest": "af62edfc8ed467278eeb15c1a803f0b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6276, "upload_time": "2015-08-02T05:25:18", "url": "https://files.pythonhosted.org/packages/8d/aa/0be5fc55a4731a16255b2bf02a323d2d56f5046d22b1bcb33e6ad9874bdc/retryp-0.1.14.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "9b8673597dc54a0471396057fe4063ed", "sha256": "d37b496fa92d8b795d59ae6f3ab75e12c07f337b9601421978a603571fa32479" }, "downloads": -1, "filename": "retryp-0.1.16.tar.gz", "has_sig": false, "md5_digest": "9b8673597dc54a0471396057fe4063ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6506, "upload_time": "2015-08-03T22:37:28", "url": "https://files.pythonhosted.org/packages/bc/7a/f2e7c937996f19393a104b542bb0aa4bf30058dc40ff74c2ed775b4f57ab/retryp-0.1.16.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "632981bcc182f19ec7482d3b025e2c99", "sha256": "ccf3911768854dd33daf3df524741a6f3b17bbdd67272240652357fbd3323bf5" }, "downloads": -1, "filename": "retryp-0.1.7.tar.gz", "has_sig": false, "md5_digest": "632981bcc182f19ec7482d3b025e2c99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3458, "upload_time": "2014-11-24T07:16:13", "url": "https://files.pythonhosted.org/packages/12/0b/43c02ef1c92346ddb8d7336db12c996348133ff7adb19bdf1f87e4cf638a/retryp-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "7e71171ccb653c58072ab3f6446dca7c", "sha256": "4e84c7c904b69bd5f1f5bde2de5098ac24bfebb9f67525338d91cba85980a6fd" }, "downloads": -1, "filename": "retryp-0.1.8.tar.gz", "has_sig": false, "md5_digest": "7e71171ccb653c58072ab3f6446dca7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3463, "upload_time": "2014-11-24T08:53:55", "url": "https://files.pythonhosted.org/packages/60/ab/832734bbe2081676844bf23b06df1fc2e8542497529df40ac8032c3c0628/retryp-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "57fd71ccf3778ddde8abcc20df22e6ba", "sha256": "62738d22c73114ecf3c32c65a4f42508c0ed7e5002fafbba94ef6c55a3c8af35" }, "downloads": -1, "filename": "retryp-0.1.9.tar.gz", "has_sig": false, "md5_digest": "57fd71ccf3778ddde8abcc20df22e6ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3722, "upload_time": "2014-11-24T21:02:29", "url": "https://files.pythonhosted.org/packages/f4/66/7b281642b7d64c79ed2531439ec5877385faced684c7cc5a2ae87415af85/retryp-0.1.9.tar.gz" } ], "0.1.post19": [ { "comment_text": "", "digests": { "md5": "ddca2ca9abb285934da9debc3222a6b0", "sha256": "672b18f71f3457011e804cb5ec33c6cea5b0243a96545e0029442adf00f95d8d" }, "downloads": -1, "filename": "retryp-0.1.post19.tar.gz", "has_sig": false, "md5_digest": "ddca2ca9abb285934da9debc3222a6b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23398, "upload_time": "2015-09-30T21:23:29", "url": "https://files.pythonhosted.org/packages/fa/18/55ca1c69d60d134b78939f13eb4efd2d1e4a72bafca79c7c67d1772e3a2c/retryp-0.1.post19.tar.gz" } ], "0.1.post20": [ { "comment_text": "", "digests": { "md5": "e88b716f6b83c4b3d2aae043fd3586f8", "sha256": "b5d8b9904b5912d45288de71feca97028906df27b97e975aae5d14a6e313df96" }, "downloads": -1, "filename": "retryp-0.1.post20.tar.gz", "has_sig": false, "md5_digest": "e88b716f6b83c4b3d2aae043fd3586f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23415, "upload_time": "2015-09-30T22:18:41", "url": "https://files.pythonhosted.org/packages/c4/aa/46116076b6a16e4d81cb930cfeb1da78ea6321faf9abad92a42ab98f978b/retryp-0.1.post20.tar.gz" } ], "0.2.post1": [ { "comment_text": "", "digests": { "md5": "5e5e588f93dcdccde673e7301a24b6aa", "sha256": "5fd23e184eb8165f50a0c44b94ddf26e7a35eede8aa4cbddd56f0a5fce3e322e" }, "downloads": -1, "filename": "retryp-0.2.post1.tar.gz", "has_sig": false, "md5_digest": "5e5e588f93dcdccde673e7301a24b6aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21928, "upload_time": "2015-08-10T05:50:02", "url": "https://files.pythonhosted.org/packages/63/41/b1bda8b25b6694a3465dbb79570d87c8b0ca0f7cb67ec06fb7556b2a51f7/retryp-0.2.post1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "f5ec39eb4f73e23d853a5ecbd5f0b666", "sha256": "e8d6d9fbb1f4bf67b073da3a256f4a23b7037bb0950895dc2908f8cf72fd9b6d" }, "downloads": -1, "filename": "retryp-0.3.tar.gz", "has_sig": false, "md5_digest": "f5ec39eb4f73e23d853a5ecbd5f0b666", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23400, "upload_time": "2015-09-30T22:51:17", "url": "https://files.pythonhosted.org/packages/60/96/5a73e076880683caf107cb12db9513170a8d7817280db57f4184ec129dff/retryp-0.3.tar.gz" } ], "0.3.post4": [ { "comment_text": "", "digests": { "md5": "09bb6d58a70b656714a8e14ab615d483", "sha256": "8a0ee396d64a4cbb7c3a86a18f87fa463f69c18f91ba7147c88b208823918db3" }, "downloads": -1, "filename": "retryp-0.3.post4.tar.gz", "has_sig": false, "md5_digest": "09bb6d58a70b656714a8e14ab615d483", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23452, "upload_time": "2015-12-12T01:53:07", "url": "https://files.pythonhosted.org/packages/6f/ea/6a7c7ad6c41398ba33f1864183f1a6f05105d6fcf7cf9c52b66603845e50/retryp-0.3.post4.tar.gz" } ], "0.3.post5": [ { "comment_text": "", "digests": { "md5": "74b49bd4cfe99c1f24c01fb8f159e0ee", "sha256": "1fc08bd5d93144e88f82c0f9dca44938fb9e17d8e2a3a4d52b1246eb04dc566b" }, "downloads": -1, "filename": "retryp-0.3.post5.tar.gz", "has_sig": false, "md5_digest": "74b49bd4cfe99c1f24c01fb8f159e0ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23452, "upload_time": "2016-03-29T01:57:08", "url": "https://files.pythonhosted.org/packages/5f/40/7f356dd6b7e8c1d25401f0554686d056319da61219b6c14c0d0cca289590/retryp-0.3.post5.tar.gz" } ], "0.3.post6": [ { "comment_text": "", "digests": { "md5": "516fcbbb948505afbe1f3788ec137ad2", "sha256": "1c022fcde917589d8015eb02d75edcb565455c48fdac873648e24c5dc069f0ac" }, "downloads": -1, "filename": "retryp-0.3.post6.tar.gz", "has_sig": false, "md5_digest": "516fcbbb948505afbe1f3788ec137ad2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23448, "upload_time": "2016-03-31T23:04:16", "url": "https://files.pythonhosted.org/packages/4d/e3/6875f52c63880adef24f10c37fdc390e5c2a8f1e87973e61da8780ec7e8c/retryp-0.3.post6.tar.gz" } ], "0.3.post7": [ { "comment_text": "", "digests": { "md5": "19fb47e14cd3d25b961a742d169aeef3", "sha256": "697583c15225e30c24f2bfece3c41d236f35eb023d56b2c4704e6d4367cb8544" }, "downloads": -1, "filename": "retryp-0.3.post7.tar.gz", "has_sig": false, "md5_digest": "19fb47e14cd3d25b961a742d169aeef3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23456, "upload_time": "2016-03-31T23:06:07", "url": "https://files.pythonhosted.org/packages/5b/33/d1901ddab165f012f1cff3a598628edbd792c6cd4e835c79949543de865a/retryp-0.3.post7.tar.gz" } ], "0.3.post8": [ { "comment_text": "", "digests": { "md5": "7a7b1cb201507f6aa4bb446ae23bed38", "sha256": "d1bf9fde42f53ca58d39f0031254a0fbcabd5c647f051c281c8dc27c0e5d15ed" }, "downloads": -1, "filename": "retryp-0.3.post8.tar.gz", "has_sig": false, "md5_digest": "7a7b1cb201507f6aa4bb446ae23bed38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23473, "upload_time": "2016-04-25T23:49:51", "url": "https://files.pythonhosted.org/packages/67/1b/d058ecf3aac41fa860ad74deb6692d94bbdca0d55e490773c57c0cbf0351/retryp-0.3.post8.tar.gz" } ], "0.3.post9": [ { "comment_text": "", "digests": { "md5": "79c30b6985112799bac00103d41ffbbe", "sha256": "561c4d27cd70f6f5d14caed45c15b2a52cf94f47f1b107037946560755ffa5a6" }, "downloads": -1, "filename": "retryp-0.3.post9.tar.gz", "has_sig": false, "md5_digest": "79c30b6985112799bac00103d41ffbbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23652, "upload_time": "2016-05-04T05:44:32", "url": "https://files.pythonhosted.org/packages/b8/8e/2396c5d503fac37df2aaa9cbed7a85d42004c4f3ec3eebe76587793988ea/retryp-0.3.post9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "79c30b6985112799bac00103d41ffbbe", "sha256": "561c4d27cd70f6f5d14caed45c15b2a52cf94f47f1b107037946560755ffa5a6" }, "downloads": -1, "filename": "retryp-0.3.post9.tar.gz", "has_sig": false, "md5_digest": "79c30b6985112799bac00103d41ffbbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23652, "upload_time": "2016-05-04T05:44:32", "url": "https://files.pythonhosted.org/packages/b8/8e/2396c5d503fac37df2aaa9cbed7a85d42004c4f3ec3eebe76587793988ea/retryp-0.3.post9.tar.gz" } ] }