requests-cache


Namerequests-cache JSON
Version 0.6.4 PyPI version JSON
download
home_pagehttps://github.com/reclosedev/requests-cache
SummaryPersistent cache for requests library
upload_time2021-06-05 00:33:14
maintainer
docs_urlNone
authorRoman Haritonov
requires_python>=3.6
licenseBSD License
keywords requests http cache persistence sqlite redis mongodb gridfs dynamodb
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Requests-Cache
[![Build](https://github.com/reclosedev/requests-cache/actions/workflows/build.yml/badge.svg)](https://github.com/reclosedev/requests-cache/actions/workflows/build.yml)
[![Coverage](https://coveralls.io/repos/github/reclosedev/requests-cache/badge.svg?branch=master)](https://coveralls.io/github/reclosedev/requests-cache?branch=master)
[![Documentation](https://img.shields.io/readthedocs/requests-cache/latest)](https://requests-cache.readthedocs.io/en/latest/)
[![PyPI](https://img.shields.io/pypi/v/requests-cache?color=blue)](https://pypi.org/project/requests-cache)
[![PyPI - Python Versions](https://img.shields.io/pypi/pyversions/requests-cache)](https://pypi.org/project/requests-cache)
[![PyPI - Format](https://img.shields.io/pypi/format/requests-cache?color=blue)](https://pypi.org/project/requests-cache)
[![Code Shelter](https://www.codeshelter.co/static/badges/badge-flat.svg)](https://www.codeshelter.co/)

## Summary
**requests-cache** is a transparent, persistent HTTP cache for the python [requests](http://python-requests.org)
library. It's a convenient tool to use with web scraping, consuming REST APIs, slow or rate-limited
sites, or any other scenario in which you're making lots of requests that are expensive and/or
likely to be sent more than once.

See full project documentation at: https://requests-cache.readthedocs.io

## Features
* **Ease of use:** Use as a [drop-in replacement](https://requests-cache.readthedocs.io/en/latest/api.html#sessions)
  for `requests.Session`, or [install globally](https://requests-cache.readthedocs.io/en/latest/user_guide.html#patching)
  to add caching to all `requests` functions
* **Customization:** Works out of the box with zero config, but with plenty of options available
  for customizing cache
  [expiration](https://requests-cache.readthedocs.io/en/latest/user_guide.html#cache-expiration)
  and other [behavior](https://requests-cache.readthedocs.io/en/latest/user_guide.html#cache-options)
* **Persistence:** Includes several [storage backends](https://requests-cache.readthedocs.io/en/latest/user_guide.html#cache-backends):
  SQLite, Redis, MongoDB, and DynamoDB.
* **Compatibility:** Can be used alongside
  [other popular libraries based on requests](https://requests-cache.readthedocs.io/en/latest/advanced_usage.html#library-compatibility)

# Quickstart
First, install with pip:
```bash
pip install requests-cache
```

Next, use [requests_cache.CachedSession](https://requests-cache.readthedocs.io/en/latest/api.html#sessions)
to send and cache requests. To quickly demonstrate how to use it:

**This takes ~1 minute:**
```python
import requests

session = requests.Session()
for i in range(60):
    session.get('http://httpbin.org/delay/1')
```

**This takes ~1 second:**
```python
import requests_cache

session = requests_cache.CachedSession('demo_cache')
for i in range(60):
    session.get('http://httpbin.org/delay/1')
```

The URL in this example adds a delay of 1 second, simulating a slow or rate-limited website.
With caching, the response will be fetched once, saved to `demo_cache.sqlite`, and subsequent
requests will return the cached response near-instantly.

If you don't want to manage a session object, requests-cache can also be installed globally:
```python
requests_cache.install_cache('demo_cache')
requests.get('http://httpbin.org/delay/1')
```

## Next Steps
To find out more about what you can do with requests-cache, see:

* The
  [User Guide](https://requests-cache.readthedocs.io/en/latest/user_guide.html) and
  [Advanced Usage](https://requests-cache.readthedocs.io/en/latest/advanced_usage.html) sections
* A working example at Real Python:
  [Caching External API Requests](https://realpython.com/blog/python/caching-external-api-requests)
* More examples in the
  [examples/](https://github.com/reclosedev/requests-cache/tree/master/examples) folder

# History

### 0.6.4 (2021-06-04)
* Fix a bug in which `filter_fn()` would get called on `response.request` instead of `response`

### 0.6.3 (2021-04-21)
* Fix false positive warning with `include_get_headers`
* Fix handling of `decode_content` parameter for `CachedResponse.raw.read()`
* Replace deprecated pymongo `Collection.count()` with `estimated_document_count()`

### 0.6.2 (2021-04-14)
* Explicitly include docs, tests, and examples in sdist

### 0.6.1 (2021-04-13)
* Handle errors due to invalid responses in `BaseCache.urls`
* Add recently renamed `BaseCache.remove_old_entries()` back, as an alias with a DeprecationWarning
* Make parent dirs for new SQLite databases
* Add `aws_access_key_id` and `aws_secret_access_key` kwargs to `DynamoDbDict`
* Update `GridFSPickleDict.__delitem__` to raise a KeyError for missing items
* Demote most `logging.info` statements to debug level
* Exclude test directory from `find_packages()`
* Make integration tests easier to run and/or fail more quickly in environments where Docker isn't available

## 0.6.0 (2021-04-09)
[See all included issues and PRs](https://github.com/reclosedev/requests-cache/milestone/1?closed=1)

Thanks to [Code Shelter](https://www.codeshelter.co) and
[contributors](https://requests-cache.readthedocs.io/en/latest/contributors.html)
for making this release possible!

### Serialization
**Note:** Due to the following changes, responses cached with previous versions of requests-cache
will be invalid. These **old responses will be treated as expired**, and will be refreshed the
next time they are requested. They can also be manually converted or removed, if needed (see notes below).

* Add [example script](https://github.com/reclosedev/requests-cache/blob/master/examples/convert_cache.py)
  to convert an existing cache from previous serialization format to new one
* When running `remove_expired_responses()`, also remove responses that are invalid due to updated
  serialization format 
* Add `CachedResponse` class to wrap cached `requests.Response` objects, which makes additional
  cache information available to client code
* Add `CachedHTTPResponse` class to wrap `urllib3.response.HTTPResponse` objects, available via `CachedResponse.raw`
  * Re-construct the raw response on demand to avoid storing extra data in the cache
  * Improve emulation of raw request behavior used for iteration, streaming requests, etc.
* Add `BaseCache.urls` property to get all URLs persisted in the cache
* Add optional support for `itsdangerous` for more secure serialization

### Cache Expiration
* Cached responses are now stored with an absolute expiration time, so `CachedSession.expire_after`
  no longer applies retroactively. To revalidate previously cached items with a new expiration time,
  see below:
* Add support for overriding original expiration (i.e., revalidating) in `CachedSession.remove_expired_responses()`
* Add support for setting expiration for individual requests
* Add support for setting expiration based on URL glob patterns
* Add support for setting expiration as a `datetime`
* Add support for explicitly disabling expiration with `-1` (Since `None` may be ambiguous in some cases)

### Backends
* SQLite: Allow passing user paths (`~/path-to-cache`) to database file with `db_path` param
* SQLite: Add `timeout` parameter
* Make default table names consistent across backends (`'http_cache'`)

### Bugfixes
* Fix caching requests with data specified in `json` parameter
* Fix caching requests with `verify` parameter
* Fix duplicate cached responses due to some unhandled variations in URL format
  * To support this, the `url-normalize` library has been added to dependencies
* Fix usage of backend-specific params when used in place of `cache_name`
* Fix potential TypeError with `DbPickleDict` initialization
* Fix usage of `CachedSession.cache_disabled` if used within another contextmanager
* Fix non-thread-safe iteration in `BaseCache`
* Fix `get_cache()`, `clear()`, and `remove_expired_responses()` so they will do nothing if
  requests-cache is not installed
* Update usage of deprecated MongoClient `save()` method
* Replace some old bugs with new and different bugs, just to keep life interesting

### General
* Drop support for python <= 3.5
* Add `CacheMixin` class to make the features of `CachedSession` usable as a mixin class,
  for [compatibility with other requests-based libraries](https://requests-cache.readthedocs.io/en/latest/advanced_usage.html#library-compatibility).
* Add `HEAD` to default `allowable_methods`

### Docs & Tests
* Add type annotations to main functions/methods in public API, and include in documentation on
  [readthedocs](https://requests-cache.readthedocs.io/en/latest/)
* Add [Contributing Guide](https://requests-cache.readthedocs.io/en/latest/contributing.html),
  [Security](https://requests-cache.readthedocs.io/en/latest/security.html) info,
  and more examples & detailed usage info in
  [User Guide](https://requests-cache.readthedocs.io/en/latest/user_guide.html) and
  [Advanced Usage](https://requests-cache.readthedocs.io/en/latest/advanced_usage.html) sections.
* Increase test coverage and rewrite most tests using pytest
* Add containerized backends for both local and CI integration testing

-----
### 0.5.2 (2019-08-14)
* Fix DeprecationWarning from collections #140

### 0.5.1 (2019-08-13)
* Remove Python 2.6 Testing from travis #133
* Fix DeprecationWarning from collections #131
* vacuum the sqlite database after clearing a table #134
* Fix handling of unpickle errors #128

## 0.5.0 (2019-04-18)
Project is now added to [Code Shelter](https://www.codeshelter.co)

* Add gridfs support, thanks to @chengguangnan
* Add dynamodb support, thanks to @ar90n
* Add response filter #104, thanks to @christopher-dG
* Fix bulk_commit #78
* Fix remove_expired_responses missed in __init__.py #93
* Fix deprecation warnings #122, thanks to mbarkhau

-----
### 0.4.13 (2016-12-23)
* Support PyMongo3, thanks to @craigls #72
* Fix streaming releate issue #68

### 0.4.12 (2016-03-19)
* Fix ability to pass backend instance in `install_cache` #61

### 0.4.11 (2016-03-07)
* `ignore_parameters` feature, thanks to @themiurgo and @YetAnotherNerd (#52, #55)
* More informative message for missing backend dependencies, thanks to @Garrett-R (#60)

### 0.4.10 (2015-04-28)
* Better transactional handling in sqlite #50, thanks to @rgant
* Compatibility with streaming in requests >= 2.6.x

### 0.4.9 (2015-01-17)
* `expire_after` now also accepts `timedelta`, thanks to @femtotrader
* Added Ability to include headers to cache key (`include_get_headers` option)
* Added string representation for `CachedSession`

### 0.4.8 (2014-12-13)
* Fix bug in reading cached streaming response

### 0.4.7 (2014-12-06)
* Fix compatibility with Requests > 2.4.1 (json arg, response history)

### 0.4.6 (2014-10-13)
* Monkey patch now uses class instead lambda (compatibility with rauth)
* Normalize (sort) parameters passed as builtin dict

### 0.4.5 (2014-08-22)
* Requests==2.3.0 compatibility, thanks to @gwillem

### 0.4.4 (2013-10-31)
* Check for backend availability in install_cache(), not at the first request
* Default storage fallbacks to memory if `sqlite` is not available

### 0.4.3 (2013-09-12)
* Fix `response.from_cache` not set in hooks

### 0.4.2 (2013-08-25)
* Fix `UnpickleableError` for gzip responses

### 0.4.1 (2013-08-19)
* `requests_cache.enabled()` context manager
* Compatibility with Requests 1.2.3 cookies handling

## 0.4.0 (2013-04-25)
* Redis backend. Thanks to @michaelbeaumont
* Fix for changes in Requests 1.2.0 hooks dispatching

-----
## 0.3.0 (2013-02-24)
* Support for `Requests` 1.x.x
* `CachedSession`
* Many backward incompatible changes

-----
### 0.2.1 (2013-01-13)
* Fix broken PyPi package

## 0.2.0 (2013-01-12)
* Last backward compatible version for `Requests` 0.14.2

-----
### 0.1.3 (2012-05-04)
* Thread safety for default `sqlite` backend
* Take into account the POST parameters when cache is configured
  with 'POST' in `allowable_methods`

### 0.1.2 (2012-05-02)
* Reduce number of `sqlite` database write operations
* `fast_save` option for `sqlite` backend

### 0.1.1 (2012-04-11)
* Fix: restore responses from response.history
* Internal refactoring (`MemoryCache` -> `BaseCache`, `reduce_response`
  and `restore_response` moved to `BaseCache`)
* `connection` option for `MongoCache`

## 0.1.0 (2012-04-10)
* initial PyPI release



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/reclosedev/requests-cache",
    "name": "requests-cache",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "requests,http,cache,persistence,sqlite,redis,mongodb,gridfs,dynamodb",
    "author": "Roman Haritonov",
    "author_email": "reclosedev@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/a9/4b/55436b518d08c9c91456d8ef4d0886e3cb08411b639546d32cd3f09844ae/requests-cache-0.6.4.tar.gz",
    "platform": "",
    "description": "# Requests-Cache\n[![Build](https://github.com/reclosedev/requests-cache/actions/workflows/build.yml/badge.svg)](https://github.com/reclosedev/requests-cache/actions/workflows/build.yml)\n[![Coverage](https://coveralls.io/repos/github/reclosedev/requests-cache/badge.svg?branch=master)](https://coveralls.io/github/reclosedev/requests-cache?branch=master)\n[![Documentation](https://img.shields.io/readthedocs/requests-cache/latest)](https://requests-cache.readthedocs.io/en/latest/)\n[![PyPI](https://img.shields.io/pypi/v/requests-cache?color=blue)](https://pypi.org/project/requests-cache)\n[![PyPI - Python Versions](https://img.shields.io/pypi/pyversions/requests-cache)](https://pypi.org/project/requests-cache)\n[![PyPI - Format](https://img.shields.io/pypi/format/requests-cache?color=blue)](https://pypi.org/project/requests-cache)\n[![Code Shelter](https://www.codeshelter.co/static/badges/badge-flat.svg)](https://www.codeshelter.co/)\n\n## Summary\n**requests-cache** is a transparent, persistent HTTP cache for the python [requests](http://python-requests.org)\nlibrary. It's a convenient tool to use with web scraping, consuming REST APIs, slow or rate-limited\nsites, or any other scenario in which you're making lots of requests that are expensive and/or\nlikely to be sent more than once.\n\nSee full project documentation at: https://requests-cache.readthedocs.io\n\n## Features\n* **Ease of use:** Use as a [drop-in replacement](https://requests-cache.readthedocs.io/en/latest/api.html#sessions)\n  for `requests.Session`, or [install globally](https://requests-cache.readthedocs.io/en/latest/user_guide.html#patching)\n  to add caching to all `requests` functions\n* **Customization:** Works out of the box with zero config, but with plenty of options available\n  for customizing cache\n  [expiration](https://requests-cache.readthedocs.io/en/latest/user_guide.html#cache-expiration)\n  and other [behavior](https://requests-cache.readthedocs.io/en/latest/user_guide.html#cache-options)\n* **Persistence:** Includes several [storage backends](https://requests-cache.readthedocs.io/en/latest/user_guide.html#cache-backends):\n  SQLite, Redis, MongoDB, and DynamoDB.\n* **Compatibility:** Can be used alongside\n  [other popular libraries based on requests](https://requests-cache.readthedocs.io/en/latest/advanced_usage.html#library-compatibility)\n\n# Quickstart\nFirst, install with pip:\n```bash\npip install requests-cache\n```\n\nNext, use [requests_cache.CachedSession](https://requests-cache.readthedocs.io/en/latest/api.html#sessions)\nto send and cache requests. To quickly demonstrate how to use it:\n\n**This takes ~1 minute:**\n```python\nimport requests\n\nsession = requests.Session()\nfor i in range(60):\n    session.get('http://httpbin.org/delay/1')\n```\n\n**This takes ~1 second:**\n```python\nimport requests_cache\n\nsession = requests_cache.CachedSession('demo_cache')\nfor i in range(60):\n    session.get('http://httpbin.org/delay/1')\n```\n\nThe URL in this example adds a delay of 1 second, simulating a slow or rate-limited website.\nWith caching, the response will be fetched once, saved to `demo_cache.sqlite`, and subsequent\nrequests will return the cached response near-instantly.\n\nIf you don't want to manage a session object, requests-cache can also be installed globally:\n```python\nrequests_cache.install_cache('demo_cache')\nrequests.get('http://httpbin.org/delay/1')\n```\n\n## Next Steps\nTo find out more about what you can do with requests-cache, see:\n\n* The\n  [User Guide](https://requests-cache.readthedocs.io/en/latest/user_guide.html) and\n  [Advanced Usage](https://requests-cache.readthedocs.io/en/latest/advanced_usage.html) sections\n* A working example at Real Python:\n  [Caching External API Requests](https://realpython.com/blog/python/caching-external-api-requests)\n* More examples in the\n  [examples/](https://github.com/reclosedev/requests-cache/tree/master/examples) folder\n\n# History\n\n### 0.6.4 (2021-06-04)\n* Fix a bug in which `filter_fn()` would get called on `response.request` instead of `response`\n\n### 0.6.3 (2021-04-21)\n* Fix false positive warning with `include_get_headers`\n* Fix handling of `decode_content` parameter for `CachedResponse.raw.read()`\n* Replace deprecated pymongo `Collection.count()` with `estimated_document_count()`\n\n### 0.6.2 (2021-04-14)\n* Explicitly include docs, tests, and examples in sdist\n\n### 0.6.1 (2021-04-13)\n* Handle errors due to invalid responses in `BaseCache.urls`\n* Add recently renamed `BaseCache.remove_old_entries()` back, as an alias with a DeprecationWarning\n* Make parent dirs for new SQLite databases\n* Add `aws_access_key_id` and `aws_secret_access_key` kwargs to `DynamoDbDict`\n* Update `GridFSPickleDict.__delitem__` to raise a KeyError for missing items\n* Demote most `logging.info` statements to debug level\n* Exclude test directory from `find_packages()`\n* Make integration tests easier to run and/or fail more quickly in environments where Docker isn't available\n\n## 0.6.0 (2021-04-09)\n[See all included issues and PRs](https://github.com/reclosedev/requests-cache/milestone/1?closed=1)\n\nThanks to [Code Shelter](https://www.codeshelter.co) and\n[contributors](https://requests-cache.readthedocs.io/en/latest/contributors.html)\nfor making this release possible!\n\n### Serialization\n**Note:** Due to the following changes, responses cached with previous versions of requests-cache\nwill be invalid. These **old responses will be treated as expired**, and will be refreshed the\nnext time they are requested. They can also be manually converted or removed, if needed (see notes below).\n\n* Add [example script](https://github.com/reclosedev/requests-cache/blob/master/examples/convert_cache.py)\n  to convert an existing cache from previous serialization format to new one\n* When running `remove_expired_responses()`, also remove responses that are invalid due to updated\n  serialization format \n* Add `CachedResponse` class to wrap cached `requests.Response` objects, which makes additional\n  cache information available to client code\n* Add `CachedHTTPResponse` class to wrap `urllib3.response.HTTPResponse` objects, available via `CachedResponse.raw`\n  * Re-construct the raw response on demand to avoid storing extra data in the cache\n  * Improve emulation of raw request behavior used for iteration, streaming requests, etc.\n* Add `BaseCache.urls` property to get all URLs persisted in the cache\n* Add optional support for `itsdangerous` for more secure serialization\n\n### Cache Expiration\n* Cached responses are now stored with an absolute expiration time, so `CachedSession.expire_after`\n  no longer applies retroactively. To revalidate previously cached items with a new expiration time,\n  see below:\n* Add support for overriding original expiration (i.e., revalidating) in `CachedSession.remove_expired_responses()`\n* Add support for setting expiration for individual requests\n* Add support for setting expiration based on URL glob patterns\n* Add support for setting expiration as a `datetime`\n* Add support for explicitly disabling expiration with `-1` (Since `None` may be ambiguous in some cases)\n\n### Backends\n* SQLite: Allow passing user paths (`~/path-to-cache`) to database file with `db_path` param\n* SQLite: Add `timeout` parameter\n* Make default table names consistent across backends (`'http_cache'`)\n\n### Bugfixes\n* Fix caching requests with data specified in `json` parameter\n* Fix caching requests with `verify` parameter\n* Fix duplicate cached responses due to some unhandled variations in URL format\n  * To support this, the `url-normalize` library has been added to dependencies\n* Fix usage of backend-specific params when used in place of `cache_name`\n* Fix potential TypeError with `DbPickleDict` initialization\n* Fix usage of `CachedSession.cache_disabled` if used within another contextmanager\n* Fix non-thread-safe iteration in `BaseCache`\n* Fix `get_cache()`, `clear()`, and `remove_expired_responses()` so they will do nothing if\n  requests-cache is not installed\n* Update usage of deprecated MongoClient `save()` method\n* Replace some old bugs with new and different bugs, just to keep life interesting\n\n### General\n* Drop support for python <= 3.5\n* Add `CacheMixin` class to make the features of `CachedSession` usable as a mixin class,\n  for [compatibility with other requests-based libraries](https://requests-cache.readthedocs.io/en/latest/advanced_usage.html#library-compatibility).\n* Add `HEAD` to default `allowable_methods`\n\n### Docs & Tests\n* Add type annotations to main functions/methods in public API, and include in documentation on\n  [readthedocs](https://requests-cache.readthedocs.io/en/latest/)\n* Add [Contributing Guide](https://requests-cache.readthedocs.io/en/latest/contributing.html),\n  [Security](https://requests-cache.readthedocs.io/en/latest/security.html) info,\n  and more examples & detailed usage info in\n  [User Guide](https://requests-cache.readthedocs.io/en/latest/user_guide.html) and\n  [Advanced Usage](https://requests-cache.readthedocs.io/en/latest/advanced_usage.html) sections.\n* Increase test coverage and rewrite most tests using pytest\n* Add containerized backends for both local and CI integration testing\n\n-----\n### 0.5.2 (2019-08-14)\n* Fix DeprecationWarning from collections #140\n\n### 0.5.1 (2019-08-13)\n* Remove Python 2.6 Testing from travis #133\n* Fix DeprecationWarning from collections #131\n* vacuum the sqlite database after clearing a table #134\n* Fix handling of unpickle errors #128\n\n## 0.5.0 (2019-04-18)\nProject is now added to [Code Shelter](https://www.codeshelter.co)\n\n* Add gridfs support, thanks to @chengguangnan\n* Add dynamodb support, thanks to @ar90n\n* Add response filter #104, thanks to @christopher-dG\n* Fix bulk_commit #78\n* Fix remove_expired_responses missed in __init__.py #93\n* Fix deprecation warnings #122, thanks to mbarkhau\n\n-----\n### 0.4.13 (2016-12-23)\n* Support PyMongo3, thanks to @craigls #72\n* Fix streaming releate issue #68\n\n### 0.4.12 (2016-03-19)\n* Fix ability to pass backend instance in `install_cache` #61\n\n### 0.4.11 (2016-03-07)\n* `ignore_parameters` feature, thanks to @themiurgo and @YetAnotherNerd (#52, #55)\n* More informative message for missing backend dependencies, thanks to @Garrett-R (#60)\n\n### 0.4.10 (2015-04-28)\n* Better transactional handling in sqlite #50, thanks to @rgant\n* Compatibility with streaming in requests >= 2.6.x\n\n### 0.4.9 (2015-01-17)\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### 0.4.8 (2014-12-13)\n* Fix bug in reading cached streaming response\n\n### 0.4.7 (2014-12-06)\n* Fix compatibility with Requests > 2.4.1 (json arg, response history)\n\n### 0.4.6 (2014-10-13)\n* Monkey patch now uses class instead lambda (compatibility with rauth)\n* Normalize (sort) parameters passed as builtin dict\n\n### 0.4.5 (2014-08-22)\n* Requests==2.3.0 compatibility, thanks to @gwillem\n\n### 0.4.4 (2013-10-31)\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### 0.4.3 (2013-09-12)\n* Fix `response.from_cache` not set in hooks\n\n### 0.4.2 (2013-08-25)\n* Fix `UnpickleableError` for gzip responses\n\n### 0.4.1 (2013-08-19)\n* `requests_cache.enabled()` context manager\n* Compatibility with Requests 1.2.3 cookies handling\n\n## 0.4.0 (2013-04-25)\n* Redis backend. Thanks to @michaelbeaumont\n* Fix for changes in Requests 1.2.0 hooks dispatching\n\n-----\n## 0.3.0 (2013-02-24)\n* Support for `Requests` 1.x.x\n* `CachedSession`\n* Many backward incompatible changes\n\n-----\n### 0.2.1 (2013-01-13)\n* Fix broken PyPi package\n\n## 0.2.0 (2013-01-12)\n* Last backward compatible version for `Requests` 0.14.2\n\n-----\n### 0.1.3 (2012-05-04)\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### 0.1.2 (2012-05-02)\n* Reduce number of `sqlite` database write operations\n* `fast_save` option for `sqlite` backend\n\n### 0.1.1 (2012-04-11)\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## 0.1.0 (2012-04-10)\n* initial PyPI release\n\n\n",
    "bugtrack_url": null,
    "license": "BSD License",
    "summary": "Persistent cache for requests library",
    "version": "0.6.4",
    "split_keywords": [
        "requests",
        "http",
        "cache",
        "persistence",
        "sqlite",
        "redis",
        "mongodb",
        "gridfs",
        "dynamodb"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "81291a79940f662e0374480967876b7c",
                "sha256": "1102daa13a804abe23fad62d694e7dee58d6063a35d94bf6e8c9821e22e5a78b"
            },
            "downloads": -1,
            "filename": "requests_cache-0.6.4-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "81291a79940f662e0374480967876b7c",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.6",
            "size": 28221,
            "upload_time": "2021-06-05T00:33:12",
            "upload_time_iso_8601": "2021-06-05T00:33:12.283062Z",
            "url": "https://files.pythonhosted.org/packages/1d/a1/3062a791c433212c98a7dd2e510913bccd09e8d216d7da273f44736ae7c7/requests_cache-0.6.4-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "580922e3725974b0aa318abcc1a8d1c1",
                "sha256": "dd9120a4ab7b8128cba9b6b120d8b5560d566a3cd0f828cced3d3fd60a42ec40"
            },
            "downloads": -1,
            "filename": "requests-cache-0.6.4.tar.gz",
            "has_sig": false,
            "md5_digest": "580922e3725974b0aa318abcc1a8d1c1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 56992,
            "upload_time": "2021-06-05T00:33:14",
            "upload_time_iso_8601": "2021-06-05T00:33:14.006790Z",
            "url": "https://files.pythonhosted.org/packages/a9/4b/55436b518d08c9c91456d8ef4d0886e3cb08411b639546d32cd3f09844ae/requests-cache-0.6.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2021-06-05 00:33:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": null,
    "github_project": "reclosedev",
    "error": "Could not fetch GitHub repository",
    "lcname": "requests-cache"
}
        
Elapsed time: 0.32301s