Skip to main content

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

PyPI Documentation Status Build Status Coverage Status Maintainability

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 to True will call resp.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

urlquick-2.0.1.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

urlquick-2.0.1-py2.py3-none-any.whl (9.9 kB view details)

Uploaded Python 2 Python 3

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

Hashes for urlquick-2.0.1.tar.gz
Algorithm Hash digest
SHA256 3e9bbcb1b3eaf312309b034b509d9e98063481bfad1e6db2184073aef2957c3d
MD5 9a03a03dcddbc6f1f539bc005859c7ea
BLAKE2b-256 6da90d89e282ac97a4592569055cecae14adb42d6e4cecb038057d8228c3a184

See more details on using hashes here.

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

Hashes for urlquick-2.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7098da91dd0f4dd3fb9a5678f57ab587790f4175e220e74f10744cb2bd9a92a0
MD5 56bdc5d14dcc081776051ae50fdadfdf
BLAKE2b-256 c7099dab8b3fab72780bab582c16d9f81a45c9d2de465cc7db5a4932df6afb4b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page