Python HTTP requests on steroids
Project description
request-session
request-session
is an HTTP library built on top of requests
that makes your live easier by retrying whenever a request fails,
logs the results or even sends metrics and traces to DataDogHQ.
RequestSession also measures the time of the request.
Use RequestSession
to create a client module for accessing a group of resources
served on a common endpoint with default values valid for all or
most of the calls you need to make. For your convenience,
some defaults are already provided.
Usage
To install request-session
, use pip:
pip install request-session
from request_session import RequestSession
client = RequestSession(
host="https://jobs.kiwi.com",
max_retries=4, # how many times to retry in case server error occurs
raise_for_status=True, # raise an exception if failed on every attempt
)
response = client.get(
path="/",
sleep_before_repeat=1, # how many seconds to wait untill next try
request_category="jobs", # what to log to stdout/stderr
)
Benefits of using RequestSession
- Retry: It is possible to configure a retry in case of request failure.
- Logs: Result of the request can also be logged to
stdout
. - Metrics: On each call you make to
GET
,POST
,PUT
,PATCH
, and DELETE` methods, several metrics are sent to your datadog client - duration of the request, how many requests were sent, outcome of the request (a DataDog integration is needed). - Tracing:
RequestSession
can send tracing info to DataDog (an APM integration is needed).
You can find more details about RequestSession
's benefits and examples in
the official documentation.
Contributing
Create a merge request and assign it to Josef Podaný for review.
How to run test
To run all tests you just need to run the command tox
.
Note that tox doesn't know when you change the
requirements.txt
and won't automatically install new dependencies for test runs. Runpip install tox-battery
to install a plugin which fixes this silliness.
Project details
Release history Release notifications | RSS feed
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
Hashes for request_session-0.10.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51b719cf915ab74f449bc7838bbf8a06604e8325da67f25092438b8660942369 |
|
MD5 | 1421ac31678e4b4ec4b68af16d6d8f61 |
|
BLAKE2b-256 | 8d030b553a69f10ef256a8c67ed65ef66a2cd3997bd894131dcc4bcbae0b5208 |