Requests wrapper that add's support for HTTP caching. It act's just like requests but with a few extra parameters and features.
Project description
Urlquick II: Requests, but with caching
Urlquick II
Urlquick 2 is a wrapper for requests that add's support for http caching. It acts just like requests but with a few extra parameters and features. 'Requests' itself is left untouched.
All GET, HEAD and POST requests are cached locally for a period of 4 hours, this can be changed. When the cache expires, conditional headers are added to any new request e.g. "Etag" and "Last-modified". Then if the server returns a 304 Not-Modified response, the cache is used, saving having to re-download the content body.
All of Requests get
, head
, post
and request
functions/methods all get 2 extra optional parameters.
Both these 2 parameters can also be set on a session object too.
max_age
: Age the 'cache' can be before it’s considered stale.raise_for_status
: Boolean that when set toTrue
will callresp.raise_for_status()
for you automatically.
The Requests response objects also gets too new methods.
parse()
: Parse’s “HTML” document into a element tree using HTMLement.xml()
: Parse’s XML document into a element tree.
Usage
>>> import urlquick
# Make a simple request to check ip address.
>>> r = urlquick.get('https://httpbin.org/ip')
>>> r.json()
{'ip': '172.69.48.124'}
# Take note of the elapsed time.
>>> r.elapsed
0:00:00.556889
# Now make the same request but notice the much lower elapsed time.
>>> r = urlquick.get('https://httpbin.org/ip')
>>> r.elapsed
0:00:00.000184
# To change the max age for the cache to 1 hour.
>>> r = urlquick.get('https://httpbin.org/ip', max_age=60*60)
# max_age of -1 will disable the caching system.
# max_age of 0 will send conditional headers to check if content needs to be redownloaded.
Install
Urlquick 2 officially supports Python 2.7 & 3.6+.
$ pip install urlquick
Full Documentation over at Read the Docs
Project details
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
File details
Details for the file urlquick-2.0.1.tar.gz
.
File metadata
- Download URL: urlquick-2.0.1.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e9bbcb1b3eaf312309b034b509d9e98063481bfad1e6db2184073aef2957c3d |
|
MD5 | 9a03a03dcddbc6f1f539bc005859c7ea |
|
BLAKE2b-256 | 6da90d89e282ac97a4592569055cecae14adb42d6e4cecb038057d8228c3a184 |
File details
Details for the file urlquick-2.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: urlquick-2.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7098da91dd0f4dd3fb9a5678f57ab587790f4175e220e74f10744cb2bd9a92a0 |
|
MD5 | 56bdc5d14dcc081776051ae50fdadfdf |
|
BLAKE2b-256 | c7099dab8b3fab72780bab582c16d9f81a45c9d2de465cc7db5a4932df6afb4b |