{ "info": { "author": "Roman Haritonov", "author_email": "reclosedev@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "requests-cache\n---------------\n\nRequests-cache is a transparent persistent cache for requests_ (version >= 1.1.0) library.\n\n.. _requests: http://python-requests.org/\n\n.. image:: https://travis-ci.org/reclosedev/requests-cache.svg?branch=master\n :target: https://travis-ci.org/reclosedev/requests-cache\n\n.. image:: https://coveralls.io/repos/reclosedev/requests-cache/badge.svg?branch=master&service=github\n :target: https://coveralls.io/github/reclosedev/requests-cache?branch=master\n\n\nUsage example\n-------------\n\nJust write:\n\n.. code-block:: python\n\n import requests\n import requests_cache\n\n requests_cache.install_cache('demo_cache')\n\nAnd all responses with headers and cookies will be transparently cached to\n`demo_cache.sqlite` database. For example, following code will take only\n1-2 seconds instead of 10, and will run instantly on next launch:\n\n.. code-block:: python\n\n for i in range(10):\n requests.get('http://httpbin.org/delay/1')\n\nIt can be useful when you are creating some simple data scraper with constantly\nchanging parsing logic or data format, and don't want to redownload pages or\nwrite complex error handling and persistence.\n\nNote\n----\n\n``requests-cache`` ignores all cache headers, it just caches the data for the\ntime you specify.\n\nIf you need library which knows how to use HTTP headers and status codes,\ntake a look at `httpcache `_ and\n`CacheControl `_.\n\nLinks\n-----\n\n- **Documentation** at `readthedocs.org `_\n\n- **Source code and issue tracking** at `GitHub `_.\n\n- **Working example** at `Real Python `_.\n\n\n.. :changelog:\n\nHistory\n-------\n\n0.4.12 (2016-02-12)\n+++++++++++++++++++\n\n* Increment version to satisfy PyPi\n\n0.4.11 (2016-02-12)\n+++++++++++++++++++\n\n* Ability to force removal of expired entries\n\n0.4.10 (2015-04-28)\n+++++++++++++++++++\n\n* Better transactional handling in sqlite #50, thanks to @rgant\n* Compatibility with streaming in requests >= 2.6.x\n\n\n0.4.9 (2015-01-17)\n++++++++++++++++++\n\n* ``expire_after`` now also accepts ``timedelta``, thanks to @femtotrader\n* Added Ability to include headers to cache key (``include_get_headers`` option)\n* Added string representation for ``CachedSession``\n\n\n0.4.8 (2014-12-13)\n++++++++++++++++++\n\n* Fix bug in reading cached streaming response\n\n\n0.4.7 (2014-12-06)\n++++++++++++++++++\n\n* Fix compatibility with Requests > 2.4.1 (json arg, response history)\n\n\n0.4.6 (2014-10-13)\n++++++++++++++++++\n\n* Monkey patch now uses class instead lambda (compatibility with rauth)\n* Normalize (sort) parameters passed as builtin dict\n\n\n0.4.5 (2014-08-22)\n++++++++++++++++++\n\n* Requests==2.3.0 compatibility, thanks to @gwillem\n\n\n0.4.4 (2013-10-31)\n++++++++++++++++++\n\n* Check for backend availability in install_cache(), not at the first request\n* Default storage fallbacks to memory if ``sqlite`` is not available\n\n\n0.4.3 (2013-09-12)\n++++++++++++++++++\n\n* Fix ``response.from_cache`` not set in hooks\n\n\n\n0.4.2 (2013-08-25)\n++++++++++++++++++\n\n* Fix ``UnpickleableError`` for gzip responses\n\n\n\n0.4.1 (2013-08-19)\n++++++++++++++++++\n\n* ``requests_cache.enabled()`` context manager\n* Compatibility with Requests 1.2.3 cookies handling\n\n\n0.4.0 (2013-04-25)\n++++++++++++++++++\n\n* Redis backend. Thanks to @michaelbeaumont\n* Fix for changes in Requests 1.2.0 hooks dispatching\n\n\n0.3.0 (2013-02-24)\n++++++++++++++++++\n\n* Support for ``Requests`` 1.x.x\n* ``CachedSession``\n* Many backward incompatible changes\n\n0.2.1 (2013-01-13)\n++++++++++++++++++\n\n* Fix broken PyPi package\n\n0.2.0 (2013-01-12)\n++++++++++++++++++\n\n* Last backward compatible version for ``Requests`` 0.14.2\n\n\n0.1.3 (2012-05-04)\n++++++++++++++++++\n\n* Thread safety for default ``sqlite`` backend\n* Take into account the POST parameters when cache is configured\n with 'POST' in ``allowable_methods``\n\n\n0.1.2 (2012-05-02)\n++++++++++++++++++\n\n* Reduce number of ``sqlite`` database write operations\n* ``fast_save`` option for ``sqlite`` backend\n\n\n0.1.1 (2012-04-11)\n++++++++++++++++++\n\n* Fix: restore responses from response.history\n* Internal refactoring (``MemoryCache`` -> ``BaseCache``, ``reduce_response``\n and ``restore_response`` moved to ``BaseCache``)\n* ``connection`` option for ``MongoCache``\n\n\n0.1.0 (2012-04-10)\n++++++++++++++++++\n\n* initial PyPI release", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/reclosedev/requests-cache", "keywords": "requests,cache,persistence", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "requests-cache-latest", "package_url": "https://pypi.org/project/requests-cache-latest/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/requests-cache-latest/", "project_urls": { "Homepage": "https://github.com/reclosedev/requests-cache" }, "release_url": "https://pypi.org/project/requests-cache-latest/0.4.12/", "requires_dist": [ "requests (>=1.1.0)" ], "requires_python": "", "summary": "Persistent cache for requests library", "version": "0.4.12" }, "last_serial": 1952872, "releases": { "0.4.12": [ { "comment_text": "", "digests": { "md5": "4b9d99eadc2c366806fc0000d4122ccf", "sha256": "35bdde6b7868b06d65230b7636dd6a31594fe280a1bf6de7abf01c8005dd4fe1" }, "downloads": -1, "filename": "requests_cache_latest-0.4.12-py3-none-any.whl", "has_sig": true, "md5_digest": "4b9d99eadc2c366806fc0000d4122ccf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19553, "upload_time": "2016-02-12T11:52:13", "url": "https://files.pythonhosted.org/packages/2d/54/008258fa5700e23ec16a4a43345d17096ae454a07c138eba999a2c4ea178/requests_cache_latest-0.4.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7dd33e8fee0d7596b70aa64258bff3ed", "sha256": "04ce221785429aa67e4920635e9f919ca0d5186c8a4c0931f23bd61944d10e52" }, "downloads": -1, "filename": "requests-cache-latest-0.4.12.tar.gz", "has_sig": true, "md5_digest": "7dd33e8fee0d7596b70aa64258bff3ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27075, "upload_time": "2016-02-12T11:52:32", "url": "https://files.pythonhosted.org/packages/34/30/4cdb141c2a7aeb29bcc6b72f34804e5f26ec5ed592c7ebeaddb635c88d26/requests-cache-latest-0.4.12.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4b9d99eadc2c366806fc0000d4122ccf", "sha256": "35bdde6b7868b06d65230b7636dd6a31594fe280a1bf6de7abf01c8005dd4fe1" }, "downloads": -1, "filename": "requests_cache_latest-0.4.12-py3-none-any.whl", "has_sig": true, "md5_digest": "4b9d99eadc2c366806fc0000d4122ccf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19553, "upload_time": "2016-02-12T11:52:13", "url": "https://files.pythonhosted.org/packages/2d/54/008258fa5700e23ec16a4a43345d17096ae454a07c138eba999a2c4ea178/requests_cache_latest-0.4.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7dd33e8fee0d7596b70aa64258bff3ed", "sha256": "04ce221785429aa67e4920635e9f919ca0d5186c8a4c0931f23bd61944d10e52" }, "downloads": -1, "filename": "requests-cache-latest-0.4.12.tar.gz", "has_sig": true, "md5_digest": "7dd33e8fee0d7596b70aa64258bff3ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27075, "upload_time": "2016-02-12T11:52:32", "url": "https://files.pythonhosted.org/packages/34/30/4cdb141c2a7aeb29bcc6b72f34804e5f26ec5ed592c7ebeaddb635c88d26/requests-cache-latest-0.4.12.tar.gz" } ] }