Skip to main content

Make requests's sessions auto-retry on failure.

Project description

Configures the passed-in requests’ Session to retry on failed requests due to connection errors, timeouts, specific HTTP response codes (5XX by default) and 30X redirections —anything that could fail.

Python 3.6+.

Basic usage:

from retry_requests import retry
my_session = retry()
my_session.get("http://foo.bar")

This get will retry three times in case of error waiting some time between retries. Errors could be:

  • Waiting for the server to start answering for 5 seconds.

  • No access to the server or a dropped connection.

  • An HTTP answer of 500, 502, or 504.

You can change these defaults:

from retry_requests import retry
from requests import Session
my_session = retry(Session(), retries=5, backoff_factor=0.2)
my_session.get('https://foo.bar')

Check the function retry to know more about this configuration.

Note that you have a TSession, a Session with a default timeout, and RSession, a Session with a timeout that always raise_for_status(), for your convenience.

Heavily inspired from Peterbe.com. Thank you!

Installing

Just pip install retry-requests.

Testing

Clone this project and then, at its root directory, run python setup.py test. Note that you need an active Internet connection to run the tests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

retry-requests-2.0.0.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

retry_requests-2.0.0-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file retry-requests-2.0.0.tar.gz.

File metadata

  • Download URL: retry-requests-2.0.0.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for retry-requests-2.0.0.tar.gz
Algorithm Hash digest
SHA256 3d02135e5aafedf09240414182fc7389c5d2b4de0252daba0054c9d6a27e7639
MD5 2aa1ae11b215365b00e2b713f2188586
BLAKE2b-256 1eda6e961557733660bef8d095a1d81423a3707486e2b2ecd2c5ad5ad8d2f59d

See more details on using hashes here.

File details

Details for the file retry_requests-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: retry_requests-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for retry_requests-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 38e8e3f55051e7b7915c1768884269097865a5da2ea87d5dcafd6ba9498c363f
MD5 89c529072975d4251f18836aa09ddc0d
BLAKE2b-256 b1f38ce908497bebbc2790ef06240a2c0fb28c096abb59062d88f85090464a5f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page