{ "info": { "author": "Timothy McFadden", "author_email": "tim@timandjamie.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "=========\r\nyamicache\r\n=========\r\n\r\n\r\n.. image:: https://img.shields.io/pypi/v/yamicache.svg\r\n :target: https://pypi.org/project/yamicache/\r\n :alt: Pypi Version\r\n\r\n.. image:: https://img.shields.io/travis/mtik00/yamicache.svg\r\n :target: https://travis-ci.org/mtik00/yamicache\r\n :alt: Travis Status\r\n\r\n.. image:: https://readthedocs.org/projects/yamicache/badge/?version=latest\r\n :target: https://yamicache.readthedocs.io/en/latest/?badge=latest\r\n :alt: Documentation Status\r\n\r\n.. image:: https://coveralls.io/repos/github/mtik00/yamicache/badge.svg?branch=master\r\n :target: https://coveralls.io/github/mtik00/yamicache?branch=master\r\n :alt: Coveralls Status\r\n\r\n\r\nYet another in-memory caching package\r\n\r\n\r\n* Free software: MIT license\r\n* Documentation: https://yamicache.readthedocs.io.\r\n\r\n\r\nFeatures\r\n--------\r\n\r\n* Memoization\r\n* Selective caching based on decorators\r\n* Mutli-threaded support\r\n* Optional garbage collection thread\r\n* Optional time-based cache expiration\r\n\r\n\r\nQuick Start\r\n-----------\r\n\r\n.. code-block:: python\r\n\r\n from __future__ import print_function\r\n import time\r\n from yamicache import Cache\r\n c = Cache()\r\n class MyApp(object):\r\n @c.cached()\r\n def long_op(self):\r\n time.sleep(30)\r\n return 1\r\n\r\n app = MyApp()\r\n t_start = time.time()\r\n assert app.long_op() == 1 # takes 30s\r\n assert app.long_op() == 1 # takes 0s\r\n assert app.long_op() == 1 # takes 0s\r\n assert 1 < (time.time() - t_start) < 31\r\n\r\n\r\n=======\r\nHistory\r\n=======\r\n\r\n0.5.1 (2018-04-10)\r\n------------------\r\n\r\n* Fix #8: Function default arguments were not handled. There was also a\r\n potential cache miss if Python changed the order of `dict` keys.\r\n\r\n\r\n0.5.0 (2018-03-23)\r\n------------------\r\n\r\n* Fix #7: Timed-out values are not returned when refreshed\r\n\r\n\r\n0.4.0 (2017-10-09)\r\n------------------\r\n\r\n* Added ``serialize()`` and ``deserialize()``\r\n\r\n\r\n0.3.0 (2017-09-05)\r\n------------------\r\n\r\n* Added ``@clear_cache()`` decorator\r\n* Added imports to allow for ``from yamicache import Cache``\r\n\r\n\r\n0.2.0 (2017-09-03)\r\n------------------\r\n\r\n* Added cache key collision checking\r\n\r\n\r\n0.1.1 (2017-09-01)\r\n------------------\r\n\r\n* Fix #1: ``Cache.cached()`` ignores ``timeout`` parameter\r\n\r\n\r\n0.1.0 (2017-08-28)\r\n------------------\r\n\r\n* First release on PyPI.\r\n\r\n\r\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mtik00/yamicache", "keywords": "yamicache", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "yamicache", "package_url": "https://pypi.org/project/yamicache/", "platform": "", "project_url": "https://pypi.org/project/yamicache/", "project_urls": { "Homepage": "https://github.com/mtik00/yamicache" }, "release_url": "https://pypi.org/project/yamicache/0.5.1/", "requires_dist": null, "requires_python": "", "summary": "Yet another in-memory caching package", "version": "0.5.1" }, "last_serial": 3754490, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ecc586cc2ae1025ab0d16654eb84aa0e", "sha256": "2cf3df7135afb7e2301972bc7c6d3d7179633cc65fe2c9816dbda4bd0c0edc8a" }, "downloads": -1, "filename": "yamicache-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ecc586cc2ae1025ab0d16654eb84aa0e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6496, "upload_time": "2017-08-28T23:02:33", "url": "https://files.pythonhosted.org/packages/c4/81/b6d9e403b23115a69a370fbe3424b6c16ff88a8405fc9f0495dc88552f7e/yamicache-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1920d10d65c87b0e3f8200c290d9689d", "sha256": "31d5d53e8da94ab11f726ec8343f2e47dc7f53b16f9451cc5a85cbdbd8da0050" }, "downloads": -1, "filename": "yamicache-0.1.0.tar.gz", "has_sig": false, "md5_digest": "1920d10d65c87b0e3f8200c290d9689d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22039, "upload_time": "2017-08-28T23:02:34", "url": "https://files.pythonhosted.org/packages/c7/0f/7b518f065c2520c9c107b9ad9ed7a78c8c2367b2f98264b9c8c8853062be/yamicache-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "72f9ee956b0aa5223f9e41ded1a2dd32", "sha256": "123451bbce3fede27f5e47cfb8f70f275989159518235c7da2c9def3f5f8c0cd" }, "downloads": -1, "filename": "yamicache-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "72f9ee956b0aa5223f9e41ded1a2dd32", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6901, "upload_time": "2017-09-01T18:07:28", "url": "https://files.pythonhosted.org/packages/4d/7a/9fdea18af2395e17aa288c6d6e6901ade105cbc63c0c98617cb269db3972/yamicache-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c20e403d9374f1f490455ca2035665cf", "sha256": "cfef3c7a79ccf90a21c5b69c1a21d27c266602fbedb5fe63a2ac6260caa2e2bd" }, "downloads": -1, "filename": "yamicache-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c20e403d9374f1f490455ca2035665cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18027, "upload_time": "2017-09-01T18:07:33", "url": "https://files.pythonhosted.org/packages/c3/33/3e0317cd73e9c37b58a1fc4990de5a7f1e747e946d1fcf5195b46ecdcea3/yamicache-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "bb781df69268cfd6ad131c759aaf8751", "sha256": "cdb26328772fa366b0881eb3cb21fc2bf6c9557f22e0446f09fd2924d559cc75" }, "downloads": -1, "filename": "yamicache-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bb781df69268cfd6ad131c759aaf8751", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7265, "upload_time": "2017-09-03T20:26:27", "url": "https://files.pythonhosted.org/packages/e2/8c/adae71a48e7549bd75327a1810fd8f07ca3b7ac88735e91aa61220636021/yamicache-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "70b7113926e18333057400dd87d041c0", "sha256": "60dfbe72fbc67065b4d6278e226f95f0925523c737d0e3d86ffec6ff1dde20a3" }, "downloads": -1, "filename": "yamicache-0.2.0.zip", "has_sig": false, "md5_digest": "70b7113926e18333057400dd87d041c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26370, "upload_time": "2017-09-03T20:26:29", "url": "https://files.pythonhosted.org/packages/a6/8b/bb184c3a4ed71735f68cd31b3dcc4c4ddc5cb5fe16eb7d4dbf91a2db629f/yamicache-0.2.0.zip" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "aab3cb5eff41421f9a12db6b9446fe30", "sha256": "e2e74ef9eb93917f23c3e5ff39e1dbb61b2ec4ec29bba46ca7c4961cc35b0c1e" }, "downloads": -1, "filename": "yamicache-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aab3cb5eff41421f9a12db6b9446fe30", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8050, "upload_time": "2017-09-05T21:52:51", "url": "https://files.pythonhosted.org/packages/63/21/3450f2ca25c238af7a22caf7acf8049252c53779e5a42da01dd8fe5bb502/yamicache-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "35171626024092739de3e0787244ae65", "sha256": "03a94aa5b88fa444db1ead2159d28b3be28f60a9bda053578fa78feebfaea9d4" }, "downloads": -1, "filename": "yamicache-0.3.0.tar.gz", "has_sig": false, "md5_digest": "35171626024092739de3e0787244ae65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20541, "upload_time": "2017-09-05T21:52:53", "url": "https://files.pythonhosted.org/packages/94/8d/c9e3e29b282ae4d16d15bbfeb580250578c328aa43ef7b6df7ae65e3904b/yamicache-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "5bc362c27a4bc4e45f8b39d098df32d2", "sha256": "e5ae9f7e0402955feaae5c1d77ae65565db7896068adfdfc1061fb4fd0ab163a" }, "downloads": -1, "filename": "yamicache-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5bc362c27a4bc4e45f8b39d098df32d2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8274, "upload_time": "2017-10-09T21:03:57", "url": "https://files.pythonhosted.org/packages/d7/71/96d2e2d8b40253c208bcd4e983ed6054a8b32d1ba88ed53b7584f36cc020/yamicache-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddc81d5a095843301e4515b82f52b08d", "sha256": "11efbc319a4003281115ea5c00d76c3d6c86bf38131a143d55bfde44820aeb1f" }, "downloads": -1, "filename": "yamicache-0.4.0.tar.gz", "has_sig": false, "md5_digest": "ddc81d5a095843301e4515b82f52b08d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26459, "upload_time": "2017-10-09T21:04:00", "url": "https://files.pythonhosted.org/packages/8f/e8/e234b930b9e5b256432284df0aeefd6637c5ae2f1d05ba6bdb1c1e94a581/yamicache-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "48bb8afee1193ebaf1462b1411d66eb9", "sha256": "803589322cbbb452be36ac259d79a6de3769054fb13cca3949dd7061fbef1050" }, "downloads": -1, "filename": "yamicache-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "48bb8afee1193ebaf1462b1411d66eb9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8410, "upload_time": "2018-03-23T17:37:09", "url": "https://files.pythonhosted.org/packages/c6/ed/28eea70dfe9da2b16171288cf62ecd9239ba9b212610536ad4eeebcb94dc/yamicache-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c2c5de1260404e902566622c98905eb", "sha256": "c54c0413439cc6620655183bbc7ed70462f24e251d6d791f456ed7b34650cde3" }, "downloads": -1, "filename": "yamicache-0.5.0.tar.gz", "has_sig": false, "md5_digest": "4c2c5de1260404e902566622c98905eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26868, "upload_time": "2018-03-23T17:37:10", "url": "https://files.pythonhosted.org/packages/49/dc/c7cd55929d66c2b9042e79f05be29d8fec6f3a7807d82f98917e5bdb7378/yamicache-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "23cc31dd6e5820f0fe05ad8ef6ae8242", "sha256": "629950bf478777ada75faf151887454ed78345f66e896b8140e9f623ef523376" }, "downloads": -1, "filename": "yamicache-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "23cc31dd6e5820f0fe05ad8ef6ae8242", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8882, "upload_time": "2018-04-11T05:51:20", "url": "https://files.pythonhosted.org/packages/49/b5/b29fbb00f59cd6c6749611bf4124d63db1844714ed12b845983e1368f30a/yamicache-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3b866cd152a98681a32d00e2a161720", "sha256": "b02bd3e7df6ca4b2a825d3a8ebfab66ab0fc6350d659c6ee001c1121f836b317" }, "downloads": -1, "filename": "yamicache-0.5.1.tar.gz", "has_sig": false, "md5_digest": "b3b866cd152a98681a32d00e2a161720", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27457, "upload_time": "2018-04-11T05:51:21", "url": "https://files.pythonhosted.org/packages/55/38/81fa6b5c2be4ea96c2a29f035a1195b2d36ef08584dc28adf9bab541217f/yamicache-0.5.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "23cc31dd6e5820f0fe05ad8ef6ae8242", "sha256": "629950bf478777ada75faf151887454ed78345f66e896b8140e9f623ef523376" }, "downloads": -1, "filename": "yamicache-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "23cc31dd6e5820f0fe05ad8ef6ae8242", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8882, "upload_time": "2018-04-11T05:51:20", "url": "https://files.pythonhosted.org/packages/49/b5/b29fbb00f59cd6c6749611bf4124d63db1844714ed12b845983e1368f30a/yamicache-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3b866cd152a98681a32d00e2a161720", "sha256": "b02bd3e7df6ca4b2a825d3a8ebfab66ab0fc6350d659c6ee001c1121f836b317" }, "downloads": -1, "filename": "yamicache-0.5.1.tar.gz", "has_sig": false, "md5_digest": "b3b866cd152a98681a32d00e2a161720", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27457, "upload_time": "2018-04-11T05:51:21", "url": "https://files.pythonhosted.org/packages/55/38/81fa6b5c2be4ea96c2a29f035a1195b2d36ef08584dc28adf9bab541217f/yamicache-0.5.1.tar.gz" } ] }