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.3
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.3.tar.gz | 1.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| requests_cache-0.7.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.2 MB
Release files / requests-cache-0.7.3.tar.gz
| Download URL | requests-cache-0.7.3.tar.gz |
|---|---|
| Size | 1.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d17c95b0fa52670044356378886dbaf8e25069123d4fced43e05cd13b38c42f8
|
|
BLAKE2b-256 checksum How to use checksums |
8d2bda81970c0adfacb9435e633c3d6d90ab328b046d26ef66276d9c7ddfda18
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.0a2 CPython/3.9.6 Linux/5.4.0-1055-azure
|
Release files / requests_cache-0.7.3-py3-none-any.whl
| Download URL | requests_cache-0.7.3-py3-none-any.whl |
|---|---|
| Size | 53.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cae8d3484896e2b1779a87e9ca7f44c7ca95d71614705978d6be9397f56e7f3a
|
|
BLAKE2b-256 checksum How to use checksums |
664fd260988baf0c1b6090b24005c05d977745ad530cc6b424f8dd2eb9be8d14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.0a2 CPython/3.9.6 Linux/5.4.0-1055-azure
|