{ "info": { "author": "Michael Merickel", "author_email": "pylons-discuss@googlegroups.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Pyramid", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "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", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "=============\npyramid_retry\n=============\n\n.. image:: https://img.shields.io/pypi/v/pyramid_retry.svg\n :target: https://pypi.python.org/pypi/pyramid_retry\n\n.. image:: https://img.shields.io/travis/Pylons/pyramid_retry/master.svg\n :target: https://travis-ci.org/Pylons/pyramid_retry\n\n.. image:: https://readthedocs.org/projects/pyramid_retry/badge/?version=latest\n :target: https://readthedocs.org/projects/pyramid_retry/?badge=latest\n :alt: Documentation Status\n\n``pyramid_retry`` is an execution policy for Pyramid that wraps requests and\ncan retry them a configurable number of times under certain \"retryable\" error\nconditions before indicating a failure to the client.\n\nSee https://docs.pylonsproject.org/projects/pyramid-retry/en/latest/\nor ``docs/index.rst`` in this distribution for detailed\ndocumentation.\n\n\n2.1 (2019-09-30)\n================\n\n- Add ``exception`` and ``response`` attributes to the\n ``pyramid_retry.IBeforeRetry`` event.\n See https://github.com/Pylons/pyramid_retry/pull/19\n\n2.0 (2019-06-06)\n================\n\n- No longer call ``invoke_exception_view`` if the policy catches an exception.\n If on the last attempt or non-retryable then the exception will now bubble\n out of the app and into WSGI middleware.\n See https://github.com/Pylons/pyramid_retry/pull/17\n\n1.0 (2018-10-18)\n================\n\n- Support Python 3.7.\n\n- Update the version we require for Pyramid to a non-prerelease so that pip and\n other tools don't accidentally install pre-release software.\n See https://github.com/Pylons/pyramid_retry/pull/13\n\n0.5 (2017-06-19)\n================\n\n- Update the policy to to track changes in Pyramid 1.9b1. This is an\n incompatible change and requires at least Pyramid 1.9b1.\n See https://github.com/Pylons/pyramid_retry/pull/11\n\n0.4 (2017-06-12)\n================\n\n- Add the ``mark_error_retryable`` function in order to easily mark\n certain errors as retryable for ``pyramid_retry`` to detect.\n See https://github.com/Pylons/pyramid_retry/pull/8\n\n- Add the ``IBeforeRetry`` event that can be subscribed to be notified\n when a retry is about to occur in order to perform cleanup on the\n ``environ``. See https://github.com/Pylons/pyramid_retry/pull/9\n\n0.3 (2017-04-10)\n================\n\n- Support a ``retry.activate_hook`` setting which can return a per-request\n number of retries. See https://github.com/Pylons/pyramid_retry/pull/4\n\n- Configuration is deferred so that settings may be changed after\n ``config.include('pyramid_retry')`` is invoked until the configurator\n is committed. See https://github.com/Pylons/pyramid_retry/pull/4\n\n- Rename the view predicates to ``last_retry_attempt`` and\n ``retryable_error``. See https://github.com/Pylons/pyramid_retry/pull/3\n\n- Rename ``pyramid_retry.is_exc_retryable`` to\n ``pyramid_retry.is_error_retryable``.\n See https://github.com/Pylons/pyramid_retry/pull/3\n\n0.2 (2017-03-02)\n================\n\n- Change the default attempts to 3 instead of 1.\n\n- Rename the view predicates to ``is_last_attempt`` and ``is_exc_retryable``.\n\n- Drop support for the ``tm.attempts`` setting.\n\n- The ``retry.attempts`` setting is always set now in\n ``registry.settings['retry.attempts']`` so that apps can inspect it.\n\n0.1 (2017-03-01)\n================\n\n- Initial release.\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/Pylons/pyramid_retry", "keywords": "pyramid wsgi retry attempt", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyramid-retry", "package_url": "https://pypi.org/project/pyramid-retry/", "platform": "", "project_url": "https://pypi.org/project/pyramid-retry/", "project_urls": { "Homepage": "https://github.com/Pylons/pyramid_retry" }, "release_url": "https://pypi.org/project/pyramid-retry/2.1/", "requires_dist": [ "pyramid (>=1.9)", "zope.interface", "Sphinx ; extra == 'docs'", "pylons-sphinx-themes ; extra == 'docs'", "repoze.sphinx.autointerface ; extra == 'docs'", "pytest ; extra == 'testing'", "pytest-cov ; extra == 'testing'", "WebTest ; extra == 'testing'" ], "requires_python": "", "summary": "An execution policy for Pyramid that supports retrying requests after certain failure exceptions.", "version": "2.1" }, "last_serial": 5907857, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "d3560e4f75c414118018e91b692dd046", "sha256": "e98d69ef4ddedf1b12afa24ab88dabcc08d8f77533a6f76247c0c03b5363ea7d" }, "downloads": -1, "filename": "pyramid_retry-0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d3560e4f75c414118018e91b692dd046", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6830, "upload_time": "2017-03-01T08:12:44", "url": "https://files.pythonhosted.org/packages/0e/fe/333ddbd3cd56293f8d0a7bf1ab7eb38b7a5fb8fb3056039a22f04d0193d4/pyramid_retry-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15ed3a7ab787ede7dbaee79219fc0f5d", "sha256": "655281fc8b0b0c120c2197ffc6009947064d6f3f5593a41cd7f87004ec56e095" }, "downloads": -1, "filename": "pyramid_retry-0.1.tar.gz", "has_sig": true, "md5_digest": "15ed3a7ab787ede7dbaee79219fc0f5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15956, "upload_time": "2017-03-01T08:12:45", "url": "https://files.pythonhosted.org/packages/92/00/b0be8b0b4b8f7dde63be446fa6023ea4c8598c6b01abd8299a1b99db03bb/pyramid_retry-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "a9809be6cd1a56855b77dfbf03d3cca1", "sha256": "caf202f9e1fa340fa29f106d06fdb8fb0deaa7c91750d9b1f79ea8af59d4b368" }, "downloads": -1, "filename": "pyramid_retry-0.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "a9809be6cd1a56855b77dfbf03d3cca1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6273, "upload_time": "2017-03-03T06:53:21", "url": "https://files.pythonhosted.org/packages/fd/d5/b4cb379e4b730436e72ee4016ad5dab60b7da31185f5345e23b0e718c9d9/pyramid_retry-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d4aef69994758d871c4b58045071d4ac", "sha256": "73b6a5851eaea3d73a7011af02229fb3987734adae9d9e1e1e13bc83cba13723" }, "downloads": -1, "filename": "pyramid_retry-0.2.tar.gz", "has_sig": true, "md5_digest": "d4aef69994758d871c4b58045071d4ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16966, "upload_time": "2017-03-03T06:53:22", "url": "https://files.pythonhosted.org/packages/b4/69/4fd68b9d01da80574cf913dc7282dfea6d509f3bd7faf7371bbcd27ec782/pyramid_retry-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "3180feef098c3a35ba5eadb9579ad82a", "sha256": "ce77c4503668005362383b3a2f950a47d7fd6a39c39461a1fcf050f06e74cd92" }, "downloads": -1, "filename": "pyramid_retry-0.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "3180feef098c3a35ba5eadb9579ad82a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7057, "upload_time": "2017-04-11T01:46:22", "url": "https://files.pythonhosted.org/packages/16/3f/b5b5c77f2b75fe4eb950e1c5323ea51304c5b99cd9aafcb53b879123fd37/pyramid_retry-0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f99e27864ffc4cd8cb0042e05c5221ae", "sha256": "4ae11a6eb1baf98afd234035eb0a5bc8488f3c594c3fbda27c0885ce53fd3c7e" }, "downloads": -1, "filename": "pyramid_retry-0.3.tar.gz", "has_sig": true, "md5_digest": "f99e27864ffc4cd8cb0042e05c5221ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18114, "upload_time": "2017-04-11T01:46:25", "url": "https://files.pythonhosted.org/packages/ae/e1/194be379f676f1c30590c02623a62a382b2b015d4126b27b3e94f9c84b44/pyramid_retry-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "cca222a89a4ee4510f94c1f45cc8230e", "sha256": "4adbbbddd00f6bb4b4ad7dd8e4bdf498214e6f132ef1031b83293f18a96ad345" }, "downloads": -1, "filename": "pyramid_retry-0.4-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "cca222a89a4ee4510f94c1f45cc8230e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8633, "upload_time": "2017-06-12T05:48:55", "url": "https://files.pythonhosted.org/packages/6e/86/d1154b1847bac313e45b9415e36cebf580d024adf59c34ab2b29670b333d/pyramid_retry-0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd0f28336d0b7ea9dcd02e60b1dffd65", "sha256": "d3ebbdfc33a7d0b7f0553107b9370be307589970e1bcaad8631049b048c5611e" }, "downloads": -1, "filename": "pyramid_retry-0.4.tar.gz", "has_sig": true, "md5_digest": "bd0f28336d0b7ea9dcd02e60b1dffd65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21116, "upload_time": "2017-06-12T05:48:56", "url": "https://files.pythonhosted.org/packages/d3/80/77fac9527740559ac87933cc0fd606864769e17e5fa5ae228c15e8260e62/pyramid_retry-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "a5f11cdbd31130785d62acbb6c7fb146", "sha256": "ade60f8def4cb179e102a0dd6545835e62aa946479a7e0354c0b2c2f9bc86947" }, "downloads": -1, "filename": "pyramid_retry-0.5-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "a5f11cdbd31130785d62acbb6c7fb146", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8205, "upload_time": "2017-06-20T04:38:57", "url": "https://files.pythonhosted.org/packages/e6/96/b087df967666b6488da0da0dbf2659e7f9ed643f7c94783bac8af810ef29/pyramid_retry-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfb5ef9f444820b55b1a8ee56e02b6c2", "sha256": "94401b2e1c6850517f1a5eb2caad63f1120b7263dce1a5087afef15145b5d95a" }, "downloads": -1, "filename": "pyramid_retry-0.5.tar.gz", "has_sig": true, "md5_digest": "bfb5ef9f444820b55b1a8ee56e02b6c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20894, "upload_time": "2017-06-20T04:39:00", "url": "https://files.pythonhosted.org/packages/7a/15/1829796a960b985aa9fe06ea6eed5090d6de14011e5041526cb3631d100b/pyramid_retry-0.5.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "d91319c2b0e2b4845ad871b6f241ff7d", "sha256": "7053f2345b2676f9b9031605a6764169963dad2f73e26873ce9331f86c78db46" }, "downloads": -1, "filename": "pyramid_retry-1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d91319c2b0e2b4845ad871b6f241ff7d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6256, "upload_time": "2018-10-18T05:21:41", "url": "https://files.pythonhosted.org/packages/8f/a1/be7de9552c259414b326278fd42ec8cba7cabb1ea3cc2327a60f526816b1/pyramid_retry-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "acc15d86abc613a020bc1c4c0eb5411e", "sha256": "7ad3b813df3c5c903bb1e2c4075266b52295ce32e614ba8c15c656c07c503923" }, "downloads": -1, "filename": "pyramid_retry-1.0.tar.gz", "has_sig": true, "md5_digest": "acc15d86abc613a020bc1c4c0eb5411e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22367, "upload_time": "2018-10-18T05:21:43", "url": "https://files.pythonhosted.org/packages/63/e9/48b1385216f254f3d2e998bf8aef09592174281f2dca99512cc7b56141f8/pyramid_retry-1.0.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "6063e20fe114271f92090e44450aefbc", "sha256": "8d7cf43439a086b8e9c896a952d34778763928155cdb6339f896f9bb31ae91ff" }, "downloads": -1, "filename": "pyramid_retry-2.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "6063e20fe114271f92090e44450aefbc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6316, "upload_time": "2019-06-07T03:19:37", "url": "https://files.pythonhosted.org/packages/fb/8f/f9e59d5be4aaead28e06c95148fe13577aeea15dba1f8dcdeaccf1630689/pyramid_retry-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8328d557dfd6f1b1066dad37447a7e68", "sha256": "a1ad3dfe165174a78cba21be17b51f4ddabbb856688c8c66ac9ec0b41bb7db71" }, "downloads": -1, "filename": "pyramid_retry-2.0.tar.gz", "has_sig": true, "md5_digest": "8328d557dfd6f1b1066dad37447a7e68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22119, "upload_time": "2019-06-07T03:19:39", "url": "https://files.pythonhosted.org/packages/a7/0d/49c21cdb293724de25f7309d9441117f161dfd87a0d27fd23358f08cbfee/pyramid_retry-2.0.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "c7d28ee07a9ebbed9d60c899fe3fdb46", "sha256": "0708512e5fb79f0b0ef41174a3fb5027b379330495aaaf5bc8aacfe110c43206" }, "downloads": -1, "filename": "pyramid_retry-2.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "c7d28ee07a9ebbed9d60c899fe3fdb46", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6470, "upload_time": "2019-09-30T16:48:25", "url": "https://files.pythonhosted.org/packages/67/25/3ebc9952e3f922ba3b4360b64c6bcd50d13ce3be57d342b337eb864b03eb/pyramid_retry-2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00c03856d9f91105284ea8ed928b4369", "sha256": "c915e2706e126777aed7c7055cf2c1e9e183d092f3df0931a7a23d700fd15597" }, "downloads": -1, "filename": "pyramid_retry-2.1.tar.gz", "has_sig": true, "md5_digest": "00c03856d9f91105284ea8ed928b4369", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22212, "upload_time": "2019-09-30T16:48:27", "url": "https://files.pythonhosted.org/packages/7e/f3/1df08e4e0f1f2c3585434eccef4da6dc509cd4cbb87782973863252bf2d2/pyramid_retry-2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c7d28ee07a9ebbed9d60c899fe3fdb46", "sha256": "0708512e5fb79f0b0ef41174a3fb5027b379330495aaaf5bc8aacfe110c43206" }, "downloads": -1, "filename": "pyramid_retry-2.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "c7d28ee07a9ebbed9d60c899fe3fdb46", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6470, "upload_time": "2019-09-30T16:48:25", "url": "https://files.pythonhosted.org/packages/67/25/3ebc9952e3f922ba3b4360b64c6bcd50d13ce3be57d342b337eb864b03eb/pyramid_retry-2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00c03856d9f91105284ea8ed928b4369", "sha256": "c915e2706e126777aed7c7055cf2c1e9e183d092f3df0931a7a23d700fd15597" }, "downloads": -1, "filename": "pyramid_retry-2.1.tar.gz", "has_sig": true, "md5_digest": "00c03856d9f91105284ea8ed928b4369", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22212, "upload_time": "2019-09-30T16:48:27", "url": "https://files.pythonhosted.org/packages/7e/f3/1df08e4e0f1f2c3585434eccef4da6dc509cd4cbb87782973863252bf2d2/pyramid_retry-2.1.tar.gz" } ] }