Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

status version release date linter tests

requests-extra

Drop-in replacement for the Requests library that wraps it to provide these ✨extra✨ features:

Improved resiliency 🤘

  • Retry by default (3 times in total) with backoff / respecting Retry-After,

  • Timeout by default (10 seconds),

  • Exception on 4xx and 5xx responses by default (automatic raise_for_status()),

Improved performance ⏩

  • Automatic HTTP keep-alive without explicitly using session,

  • Support for Brotli enabled by default,

When to use it?

This library is highly opinionated and uses a rather simplistic approach so it may or may not fit your project. For us it did help in the following use cases:

  • improving many small scripts - f.e. used for monitoring,

  • modernization of a big but simple and well-tested projects - f.e. old tests,

How to use?

  1. Replace requests with requests-extra in your dependencies file

  2. Replace requests. with requests_extra. in your code.

That’s it!

Example:

# instead of 'from requests import get'
from requests_extra import get

get('https://httpbin.org/headers')

For more examples please see the tests.

How to change the defaults?

See defaults.py.

To change some of them for all of your code do this:

import requests_extra.defaults

requests_extra.defaults.timeout = 1

You can also overwrite them for a single request in the usual way:

from requests_extra import get

get('https://httpbin.org', timeout=5)

TODO

More features:

Contributing

ALL kinds of issues & PRs are very welcome! There are no formal rules of contributing yet, please use common sense. ;)

Credits

Firstly big thanks to all the authors of the wrapped library, Requests!

Additionally thank you to the authors of reused code:

License

Like the wrapped Requests, and the libraries we reused, this library uses the Apache 2.0 license.

Metadata

Release files for requests-extra 1.0.0b8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for requests-extra 1.0.0b8
File Size Uploaded
requests_extra-1.0.0b8.tar.gz 11.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for requests-extra 1.0.0b8
File Interpreter ABI Platform
requests_extra-1.0.0b8-py3-none-any.whl Python 3 none any Details

Total release size: 25.4 kB

Release files / requests_extra-1.0.0b8.tar.gz

Download URL requests_extra-1.0.0b8.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b60b45f74630c23c61bf93c2f883e954746a6ff78e10cac392d05e95b29cb699
BLAKE2b-256 checksum
How to use checksums
32e81094e474ae45bdc7fb4d23747de8bde2d847524f1425a23b9d41ae4315a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.8.7

Release files / requests_extra-1.0.0b8-py3-none-any.whl

Download URL requests_extra-1.0.0b8-py3-none-any.whl
Size 14.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cf12240066901b68253db0f154300e9e53273aa5d02a95df2a7485fda4c1c8a3
BLAKE2b-256 checksum
How to use checksums
950e150943f28938af3d50cd4b6ffa6cf9d9904bdf475b0f6815d122a21b4824
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.8.7
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page