Easy to use retryable requests sessions.
Project description
retryable-requests
Easy to use retryable requests sessions.
Quickstart
Common case
from retryable_requests import RetryableSession
session = RetryableSession()
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,
)
session = RetryableSession(retry_strategy=retry_strategy)
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 RetryableBaseUrlSession
session = RetryableBaseUrlSession('https://httpbin.org/')
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
- BaseUrl compatible version of a
RetryableSession
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
Built Distribution
Close
Hashes for retryable_requests-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46589f5d0ff694748ea4332a3c50a49707594684af9ac4921460645d9b659bf5 |
|
MD5 | 86aea5dfb56e0c77d30abe31a58183af |
|
BLAKE2b-256 | f601f2ecb406b3e4972e336df70b3898595a32db4eb0e80bafbb269288abc7ae |