Ratelimit Python requests, but only if they're not served from the cache
Project description
ratelimit_requests_cache
Ratelimit requests in Python, but only if they're not served from the cache
This package combines the best bits of the ratelimit module and the requests_cache module.
It will rate limit outgoing requests, but not count invocations if a request can be served from the cache.
Usage
import requests
import requests_cache
from ratelimit import sleep_and_retry
from ratelimit_requests_cache import limits_if_not_cached
@sleep_and_retry
@limits_if_not_cached(calls=1, period=1)
def get_from_httpbin(i):
return requests.get(f'https://httpbin.org/anything?i={i}')
# Enable requests caching
requests_cache.install_cache()
# Notice that only the first ten requests will be ratelimited to 1 request / second
# After that, it's a lot quicker since requests can be served from the cache
# and the ratelimiter does not engage
for i in range(100):
get_from_httpbin(i % 10)
print(i)
Installation
python3 -m pip install ratelimit_requests_cache
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ratelimit_requests_cache-2023.10.30.tar.gz.
File metadata
- Download URL: ratelimit_requests_cache-2023.10.30.tar.gz
- Upload date:
- Size: 2.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.8.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5a182db7768d902a05a39c38d71e592296b90164d3ca4a544995e988d832cd0
|
|
| MD5 |
ff3ad1dd496bc6fe957adc83efe9c132
|
|
| BLAKE2b-256 |
b31984e9ade47eef5630043ee7452544096d2dc5d84d04282358f27462be90b0
|
File details
Details for the file ratelimit_requests_cache-2023.10.30-py3-none-any.whl.
File metadata
- Download URL: ratelimit_requests_cache-2023.10.30-py3-none-any.whl
- Upload date:
- Size: 3.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.8.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba1e54454f4e34b1bd5923f7c9f000ef7c3c6e2c53f6e11e10d1ccd2640ecdd0
|
|
| MD5 |
aa840304813a68081d3d37f994091b15
|
|
| BLAKE2b-256 |
5a627b2e22758595a7a4ec341a8b49b8d2316319d2d7060af5b71ca8a1ec8b6b
|