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.9.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af19ce0773c72860bafb5b6823344c79c38c43300718f323ca9d7bb3c9dfefd7 |
|
MD5 | 0b4cabeeddd695952807d1a54cde7b67 |
|
BLAKE2b-256 | e462ee0357b3fac886b35a6c213b48566f5ee0eaa72ac2c85c9dc1e2c102c73c |