Easy to use retryable requests sessions.
Project description
retryable-requests
Easy to use retryable requests sessions.
Quickstart
Common case
from retryable_requests import RetryableSession
with RetryableSession() as session:
session.get('https://httpbin.org/get') # will be retried up to 5 times
Only retry on 429 errors
from requests.packages.urllib3.util.retry import Retry
from retryable_requests import RetryableSession
retry_strategy = Retry(
total=5,
status_forcelist=[429],
backoff_factor=0.1,
)
with RetryableSession(retry_strategy=retry_strategy) as session:
session.get('https://httpbin.org/get') # will be retried up to 5 times, only for 429 errors
Automatically use a base URL for every request
from retryable_requests import RetryableSession
with RetryableSession('https://httpbin.org/') as session:
session.get('get') # 'https://httpbin.org/get' will be retried up to 5 times
session.post('post') # 'https://httpbin.org/post' won't be retried (POST request)
Features
- Automatic backing off retries for failed requests that can be safely retried
- Quick timeouts for non-responsive requests
See also
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
retryable-requests-0.1.0.tar.gz
(10.1 kB
view hashes)
Built Distribution
Close
Hashes for retryable_requests-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 650ae0ac12ecf2f189c152f82df5c24d942c311433c7375e708902d1356b60df |
|
MD5 | 6d6622de962a50d6255bf219b35bb6ff |
|
BLAKE2b-256 | da684b9a59a41ad63d20b972a35e8870e1ef7b2c816c6ab827e3c5ae499fe94b |