Requests-Cache
Summary
requests-cache is a transparent, persistent HTTP cache for the python requests library. It's a convenient tool to use with web scraping, consuming REST APIs, slow or rate-limited sites, or any other scenario in which you're making lots of requests that are expensive and/or likely to be sent more than once.
See full project documentation at: https://requests-cache.readthedocs.io
Features
- Ease of use: Use as a drop-in replacement
for
requests.Session, or install globally to add caching to allrequestsfunctions - Customization: Works out of the box with zero config, but with plenty of options available for customizing cache expiration and other behavior
- Persistence: Includes several storage backends: SQLite, Redis, MongoDB, GridFS, DynamoDB, and filesystem.
- Compatibility: Can be used alongside other popular libraries based on requests
Quickstart
First, install with pip:
pip install requests-cache
Next, use requests_cache.CachedSession to send and cache requests. To quickly demonstrate how to use it:
This takes ~1 minute:
import requests
session = requests.Session()
for i in range(60):
session.get('http://httpbin.org/delay/1')
This takes ~1 second:
import requests_cache
session = requests_cache.CachedSession('demo_cache')
for i in range(60):
session.get('http://httpbin.org/delay/1')
The URL in this example adds a delay of 1 second, simulating a slow or rate-limited website.
With caching, the response will be fetched once, saved to demo_cache.sqlite, and subsequent
requests will return the cached response near-instantly.
If you don't want to manage a session object, requests-cache can also be installed globally:
requests_cache.install_cache('demo_cache')
requests.get('http://httpbin.org/delay/1')
Next Steps
To find out more about what you can do with requests-cache, see:
- The User Guide and Advanced Usage sections
- A working example at Real Python: Caching External API Requests
- More examples in the examples/ folder
Metadata
Release files for requests-cache 0.7.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| requests-cache-0.7.1.tar.gz | 928.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| requests_cache-0.7.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 978.3 kB
Release files / requests-cache-0.7.1.tar.gz
| Download URL | requests-cache-0.7.1.tar.gz |
|---|---|
| Size | 928.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1e88c6bc7037df2a0f06377c7420aa60450abc8ac11c760bc562a6e50482e364
|
|
BLAKE2b-256 checksum How to use checksums |
47c827af81e3aa2502d61d46670386ddce6047dfc08a805b9de92b917cf528f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.0a1 CPython/3.9.5 Linux/5.4.0-1051-azure
|
Release files / requests_cache-0.7.1-py3-none-any.whl
| Download URL | requests_cache-0.7.1-py3-none-any.whl |
|---|---|
| Size | 49.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e6d7bd47c33d2e46e96d192a6a8fa318222cc3c093cbf0c97aae350f1d9d1ca3
|
|
BLAKE2b-256 checksum How to use checksums |
c7c21471ed919956441646a2c61de61f580615fe93329b638593c1452335d914
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.0a1 CPython/3.9.5 Linux/5.4.0-1051-azure
|