{ "info": { "author": "Cory Benfield", "author_email": "cory@lukasa.co.uk", "bugtrack_url": null, "classifiers": [], "description": "httpcache: HTTP Caching for Python\n===================================\n\nHTTP, like all well designed standards, has multiple confusing mechanisms for\ncaching. httpcache is a HTTP cache that knows how to use HTTP headers and\nstatus codes to correctly cache your HTTP traffic. It's built for use with the\nexcellent `Requests `_ library,\nbecause if you're not using Requests you're probably prepared to roll your own\ncaching library too.\n\nIt's gloriously easy to use. If all you want is caching in Requests, all you\nneed to do is plug a transport adapter into your Requests session:\n\n.. code-block:: pycon\n\n >>> import requests\n >>> from httpcache import CachingHTTPAdapter\n >>> s = requests.Session()\n >>> s.mount('http://', CachingHTTPAdapter())\n\nAway you go!\n\nIf you want more control, you can use the cache data-store itself. Store your\ncache entries like this:\n\n.. code-block:: python\n\n from httpcache import HTTPCache\n cache = HTTPCache(capacity=50)\n cache.store(response)\n\nAnd retrieve them like this:\n\n.. code-block:: python\n\n cached_response = cache.retrieve(request)\n\nSimple.\n\nFeatures\n--------\n\n- Tight integration with `Requests `_\n data structures.\n- Understands ``Expires`` and ``Cache-Control`` headers.\n- Knows how to interpret ``304 Not Modified`` responses.\n- Can send ``If-Modified-Since`` headers.\n- Aware of HTTP verbs, e.g. ``POST``.\n- RFC 2616-compliant.\n\nInstallation\n------------\n\nTo install httpcache, you want to run:\n\n.. code-block:: bash\n\n $ pip install httpcache\n\nIf you can't do that, and you really must have httpcache, and you can't\ninstall ``pip``, then you can try:\n\n.. code-block:: bash\n\n $ easy_install httpcache\n\nI strongly recommend you don't do that though.\n\nVersions\n--------\n\nhttpcache supports all the versions of Python that Requests does. This means\n2.6, 2.7 and 3.3. It is possible that httpcache will work on other versions of\nPython but we do not test on those versions and will not support them.\n\nContribute\n----------\n\nContributions are always welcome! Please abide by the following rules when\ncontributing:\n\n#. Check that no-one has opened an issue already covering your bug. If you open\n a duplicate issue, the maintainer will give you a stern look.\n#. Fork the `Github repository`_ and start writing your tests. If you're fixing\n a bug, I recommend writing a failing test first and working until it passes.\n If you're adding a feature, you're free to add tests after you write the\n functionality, but please test the functionality thoroughly.\n#. Send a Pull Request. If I don't respond within a couple of days, please\n shout at me on Twitter or via email until I do something about it.\n\n.. _`Github repository`: https://github.com/Lukasa/httpcache\n\n\nHistory\n-------\n\n0.1.3 (2013-05-19)\n++++++++++++++++++\n\n* Support Python 2.6\n* Support Python 3.3\n\n0.1.2 (2013-05-18)\n++++++++++++++++++\n\n* Fix broken setup.py.\n\n0.1.1 (2013-05-18)\n++++++++++++++++++\n\n* Cache a broader set of response codes.\n* Follow RFC 2616's recommendations about caching resources with query strings.\n* Don't cache non-idempotent methods.\n* Non-idempotent methods invalidate their cache resources.\n* Documentation!\n* Actually implement the capacity parameter.\n\n0.1.0 (2013-05-11)\n++++++++++++++++++\n\n* Provide a Requests Transport Adapter so that caching 'Just Works'.\n\n0.0.2 (2013-05-07)\n++++++++++++++++++\n\n* Correctly cache using the 'Expires' header.\n* Correctly handle some of the functionality exposed by the 'Cache-Control' header.\n\n0.0.1 (2013-05-05)\n++++++++++++++++++\n\n* Conception\n* If-Modified-Since and 304 handling.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://httpcache.readthedocs.org/en/latest/", "keywords": null, "license": "Copyright 2013 Cory Benfield\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this work except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", "maintainer": null, "maintainer_email": null, "name": "httpcache", "package_url": "https://pypi.org/project/httpcache/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/httpcache/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://httpcache.readthedocs.org/en/latest/" }, "release_url": "https://pypi.org/project/httpcache/0.1.3/", "requires_dist": null, "requires_python": null, "summary": "Simple HTTP cache for Python Requests", "version": "0.1.3" }, "last_serial": 793072, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "1b8e9b3748c1ce9e386ae1e236f887bc", "sha256": "1e694196219eef64136bbaf46a0c390968be5bce4f4ab1e518b798ea279e0aa4" }, "downloads": -1, "filename": "httpcache-0.0.1.tar.gz", "has_sig": false, "md5_digest": "1b8e9b3748c1ce9e386ae1e236f887bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5435, "upload_time": "2013-05-05T17:40:20", "url": "https://files.pythonhosted.org/packages/86/5e/df30075fcf25d8e9228be1588a1a762443bdf4cf73d06081058fff695223/httpcache-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "54fcd47f9cd45265db290feaa242a021", "sha256": "81c3953d326709015f740fac615a34ba46cdc9394cab0c529424de4b32627a87" }, "downloads": -1, "filename": "httpcache-0.0.2.tar.gz", "has_sig": false, "md5_digest": "54fcd47f9cd45265db290feaa242a021", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6707, "upload_time": "2013-05-07T18:49:10", "url": "https://files.pythonhosted.org/packages/ae/97/05c3381aa007c36bef3c901afba84b8615e3f7bc717fda0871bdbdf5a435/httpcache-0.0.2.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "8fda2df4a8bec9b41bf1737776c3e889", "sha256": "5d6dcc27cee666e5beb2949c54bef23687b1e70e0480719f1483e811868a5527" }, "downloads": -1, "filename": "httpcache-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8fda2df4a8bec9b41bf1737776c3e889", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7684, "upload_time": "2013-05-11T09:25:52", "url": "https://files.pythonhosted.org/packages/4a/f9/122118e6545a138c365c225ffa4f356001dd641d57414d22b7334768e0ca/httpcache-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b6e7ae7e0bf071fd00aeae6f4d7e6c35", "sha256": "7ad0161b1288f856058c4bdabd9016afa232c321eec72085487c5b3a25f51ee6" }, "downloads": -1, "filename": "httpcache-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b6e7ae7e0bf071fd00aeae6f4d7e6c35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9625, "upload_time": "2013-05-18T17:19:16", "url": "https://files.pythonhosted.org/packages/cd/36/b59a2c1758a437a78d85d8674f16f0a515ba1fb182c33e847ee4623cc3df/httpcache-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "ff408716cd1eb4498324618b285fd8c2", "sha256": "dc027140a1667bcfb643a84f0cd34fa8481b4fae0b73be0fdef66a6b4cb4fa17" }, "downloads": -1, "filename": "httpcache-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ff408716cd1eb4498324618b285fd8c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9787, "upload_time": "2013-05-18T17:32:25", "url": "https://files.pythonhosted.org/packages/ac/2d/6d02947d67ffb9e8c2ec8365e9e2d3d62ffbfd55aba77c8784c3bbca4beb/httpcache-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "80db07a6914dbdcdad69561a19c33bb2", "sha256": "32c2b811129e4f54d6ec4beb2b260e047f1ec7bf9dfb6494cbc2cbc43bb174a5" }, "downloads": -1, "filename": "httpcache-0.1.3.tar.gz", "has_sig": false, "md5_digest": "80db07a6914dbdcdad69561a19c33bb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12817, "upload_time": "2013-05-19T08:34:38", "url": "https://files.pythonhosted.org/packages/e2/f0/2223cedd18e2bc7e73453d32e84079507a795e51ea80c3fc9da78a1563c8/httpcache-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "80db07a6914dbdcdad69561a19c33bb2", "sha256": "32c2b811129e4f54d6ec4beb2b260e047f1ec7bf9dfb6494cbc2cbc43bb174a5" }, "downloads": -1, "filename": "httpcache-0.1.3.tar.gz", "has_sig": false, "md5_digest": "80db07a6914dbdcdad69561a19c33bb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12817, "upload_time": "2013-05-19T08:34:38", "url": "https://files.pythonhosted.org/packages/e2/f0/2223cedd18e2bc7e73453d32e84079507a795e51ea80c3fc9da78a1563c8/httpcache-0.1.3.tar.gz" } ] }