{"id":50859618,"url":"https://github.com/willforde/urlquick","last_synced_at":"2026-06-14T20:35:51.036Z","repository":{"id":18994601,"uuid":"85764490","full_name":"willforde/urlquick","owner":"willforde","description":"Requests wrapper that add's support for HTTP caching. It act's just like requests but with a few extra parameters and features.","archived":false,"fork":false,"pushed_at":"2023-07-08T23:26:08.000Z","size":429,"stargazers_count":7,"open_issues_count":8,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-09T12:12:38.665Z","etag":null,"topics":["caching","http","python","requests"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/willforde.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-21T23:38:54.000Z","updated_at":"2023-01-07T18:03:28.000Z","dependencies_parsed_at":"2023-01-14T12:55:58.428Z","dependency_job_id":null,"html_url":"https://github.com/willforde/urlquick","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/willforde/urlquick","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willforde%2Furlquick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willforde%2Furlquick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willforde%2Furlquick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willforde%2Furlquick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/willforde","download_url":"https://codeload.github.com/willforde/urlquick/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willforde%2Furlquick/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34337551,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["caching","http","python","requests"],"created_at":"2026-06-14T20:35:50.265Z","updated_at":"2026-06-14T20:35:51.029Z","avatar_url":"https://github.com/willforde.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Urlquick II: Requests, but with caching\n\n[![PyPI](https://img.shields.io/pypi/v/urlquick)](https://pypi.org/project/urlquick/)\n[![Documentation Status](https://readthedocs.org/projects/urlquick/badge/?version=stable)](https://urlquick.readthedocs.io/en/stable/)\n[![Build Status](https://www.travis-ci.com/willforde/urlquick.svg?branch=master)](https://www.travis-ci.com/willforde/urlquick)\n[![Coverage Status](https://coveralls.io/repos/github/willforde/urlquick/badge.svg?branch=master)](https://coveralls.io/github/willforde/urlquick?branch=master)\n[![Maintainability](https://api.codeclimate.com/v1/badges/4f622589a4b8e24ac996/maintainability)](https://codeclimate.com/github/willforde/urlquick/maintainability)\n\n\n## Urlquick II\nUrlquick 2 is a wrapper for requests that add's support for http caching.\nIt acts just like requests but with a few extra parameters and features.\n'Requests' itself is left untouched.\n\nAll GET, HEAD and POST requests are cached locally for a period of 4 hours, this can be changed. When the cache expires,\nconditional headers are added to any new request e.g. \"Etag\" and \"Last-modified\". Then if the server\nreturns a 304 Not-Modified response, the cache is used, saving having to re-download the content body.\n\nAll of Requests `get`, `head`, `post` and `request` functions/methods all get 2 extra optional parameters.\nBoth these 2 parameters can also be set on a session object too.\n* `max_age`: Age the 'cache' can be before it’s considered stale.\n* `raise_for_status`: Boolean that when set to `True` will call `resp.raise_for_status()` for you automatically.\n\nThe Requests response objects also gets too new methods.\n* `parse()`: Parse’s “HTML” document into a element tree using HTMLement.\n* `xml()`: Parse’s XML document into a element tree.\n\n## Usage\n\n```python\n\u003e\u003e\u003e import urlquick\n\n# Make a simple request to check ip address.\n\u003e\u003e\u003e r = urlquick.get('https://httpbin.org/ip')\n\u003e\u003e\u003e r.json()\n{'ip': '172.69.48.124'}\n\n# Take note of the elapsed time.\n\u003e\u003e\u003e r.elapsed\n0:00:00.556889\n\n# Now make the same request but notice the much lower elapsed time.\n\u003e\u003e\u003e r = urlquick.get('https://httpbin.org/ip')\n\u003e\u003e\u003e r.elapsed\n0:00:00.000184\n\n# To change the max age for the cache to 1 hour.\n\u003e\u003e\u003e r = urlquick.get('https://httpbin.org/ip', max_age=60*60)\n# max_age of -1 will disable the caching system.\n# max_age of 0 will send conditional headers to check if content needs to be redownloaded.\n```\n\n\n## Install\nUrlquick 2 officially supports Python 2.7 \u0026 3.6+.\n```console\n$ pip install urlquick\n```\n\n## Full Documentation over at [Read the Docs](https://urlquick.readthedocs.io)\n\n* [Requests Docs](https://requests.readthedocs.io/en/master/)\n* [HTMLement Docs](https://python-htmlement.readthedocs.io/en/stable/?badge=stable)\n* [Elementtree Docs](https://docs.python.org/3/library/xml.etree.elementtree.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillforde%2Furlquick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwillforde%2Furlquick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillforde%2Furlquick/lists"}