{ "info": { "author": "Josua Krause", "author_email": "josua.krause@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": "quick\\_cache\n============\n\nA quick and easy to use python caching system.\n\nYou can install *quick\\_cache* via\n\n.. code:: bash\n\n pip install --user quick_cache\n\nand import it in python using:\n\n.. code:: python\n\n from quick_cache import QuickCache\n\nCreate the cache object as follows:\n\n.. code:: python\n\n def msg(message, *args, **kwargs):\n print(message.format(*args, **kwargs), file=sys.stderr)\n\n cache = QuickCache(base_file, quota=500, ram_quota=100, warnings=msg)\n\nwhere ``base_file`` is an optional file whose *content* invalidates the\ncache (ie., when the content of the file changes the cache is\ninvalidated; for large files it might be desirable to use the *mtime* in\nthe cache object below) and ``msg`` is an optional formatting function\nthat prints warnings (by default it's ``None`` which doesn't print\nanything; warnings are emitted when the actual computation is faster\nthan reading the results from the cache or if other exceptional\nsituations occur). ``quota`` and ``ram_quota`` are optional maximal\ncache sizes, both in RAM and on disk, in MB.\n\nThe caching functionality can then be used via:\n\n.. code:: python\n\n with cache.get_hnd({\n # object identifying the task to cache\n # can be any combination of keys and values\n \"param_a\": 5,\n \"input_file_c\": os.path.getmtime(input_file_c), # for file change time\n ...\n }) as hnd:\n if not hnd.has():\n res = hnd.write(do_compute()) # compute your result here\n else:\n res = hnd.read()\n # your result is in res\n\nThe cache object used for creating the handle uniquely defines the task.\nThe object should contain all parameters of the task and the task\ncomputation itself should be deterministic.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/JosuaKrause/quick_cache", "keywords": "cache quick easy", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "quick-cache", "package_url": "https://pypi.org/project/quick-cache/", "platform": "", "project_url": "https://pypi.org/project/quick-cache/", "project_urls": { "Homepage": "https://github.com/JosuaKrause/quick_cache" }, "release_url": "https://pypi.org/project/quick-cache/0.3.1/", "requires_dist": null, "requires_python": "", "summary": "QuickCache is a quick to use and easy to set up cache implementation.", "version": "0.3.1" }, "last_serial": 3982910, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "89c2e8c27d83003ac7c72185612d1e9c", "sha256": "3a6909f5b26ce19622ab754c682b54087bfd26afba0943ba518dac6c86372bde" }, "downloads": -1, "filename": "quick_cache-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "89c2e8c27d83003ac7c72185612d1e9c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8363, "upload_time": "2016-09-15T18:22:41", "url": "https://files.pythonhosted.org/packages/6e/0a/2e5df665bcb9e04979654dbd40d985cb1b57432ef27f429cf07ebc374e8d/quick_cache-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c70d958ce5376057e84c1348b5441785", "sha256": "2fa2d2d4900a9f9f194c5b6ef6c8c489b29d48e481bb264ecd4036c7336f514f" }, "downloads": -1, "filename": "quick_cache-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c70d958ce5376057e84c1348b5441785", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7008, "upload_time": "2016-09-15T18:29:18", "url": "https://files.pythonhosted.org/packages/f7/86/6608825cc0515d3227f056d0866a0b029c4da1d89d490e096b68cab77e00/quick_cache-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "824162821d2d5e6768dfe16fd0a7f085", "sha256": "894d3fcc045fb155958ae03ba858fca35bc2e55acd87972249c89c58c6d090bd" }, "downloads": -1, "filename": "quick_cache-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "824162821d2d5e6768dfe16fd0a7f085", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8361, "upload_time": "2017-06-07T00:00:22", "url": "https://files.pythonhosted.org/packages/66/31/408e796a1a6f4aa507a579cf61a11dee0972ccf621996b50d18de41aeb42/quick_cache-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "712e6f4fa9e08ab8622338d98ac972fc", "sha256": "eae0ff8f3a2ba00c3fcb12457debfd7d60d2f8e9ab3bc57c9054941427e9e729" }, "downloads": -1, "filename": "quick_cache-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "712e6f4fa9e08ab8622338d98ac972fc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8363, "upload_time": "2017-06-07T00:00:23", "url": "https://files.pythonhosted.org/packages/6e/02/e3ca2b81b6d08a6ba8b91f3d454b7d8e5d1ed0d45bd7c32b9b4e43a8c659/quick_cache-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d15bd34add710ef14883e66ece2a7a11", "sha256": "59aaa1457cc9afc0738231de6c4ad2110a3724232617cecf4f9816c8ad4ff602" }, "downloads": -1, "filename": "quick_cache-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d15bd34add710ef14883e66ece2a7a11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7137, "upload_time": "2017-06-07T00:00:24", "url": "https://files.pythonhosted.org/packages/58/fb/752c498f787130774c3bcd5341ca01e72b64c558f996e19220abd1022a8a/quick_cache-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "3a1e56ff1b5a496e0c999ea47dc19e85", "sha256": "e86a01316c119787e21916cc3e8ff1a4370f7e5b99fc867ee24932640231ab97" }, "downloads": -1, "filename": "quick_cache-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3a1e56ff1b5a496e0c999ea47dc19e85", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8371, "upload_time": "2017-06-08T21:34:20", "url": "https://files.pythonhosted.org/packages/05/15/6a6a39d3f79acc369cdf108d3b8624f469546521a08cd9d1fabd03f6ea66/quick_cache-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ee7e37dc62fe65c8f3e6ec079cc022f", "sha256": "6071b491647a8e7e071d9a353cc1f4535a2417ada41327654d668166e4dfcd15" }, "downloads": -1, "filename": "quick_cache-0.2.1.tar.gz", "has_sig": false, "md5_digest": "0ee7e37dc62fe65c8f3e6ec079cc022f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7151, "upload_time": "2017-06-08T21:34:22", "url": "https://files.pythonhosted.org/packages/78/00/1b56b79412ebed06364293dc7dacc81eb70b9c55cee615f551e8def37b5a/quick_cache-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "be05788fc34d1955c7080a1d3f515fff", "sha256": "40a025a6dbf816141205350ae024aff4b6ed68bdf7e5fc8ffa2e94cacd00c1b0" }, "downloads": -1, "filename": "quick_cache-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "be05788fc34d1955c7080a1d3f515fff", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8375, "upload_time": "2017-08-22T01:38:20", "url": "https://files.pythonhosted.org/packages/0b/1c/621cdb70c6ddad010a24b3c9645e44202d8a56642aecac9b121d34ca3c84/quick_cache-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3b53ddd3d5f8de3474778d7f978dde57", "sha256": "9ce90cbdd725d6cfdedb4845d890467dd66e444d689f84e16afbfd3767050848" }, "downloads": -1, "filename": "quick_cache-0.2.2.tar.gz", "has_sig": false, "md5_digest": "3b53ddd3d5f8de3474778d7f978dde57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7139, "upload_time": "2017-08-22T01:38:22", "url": "https://files.pythonhosted.org/packages/1c/22/7ed0fd56de692c9ca1da21437884a16e2a29c20906e966bc4c409b71f247/quick_cache-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "01af2cdd42e944b043f8d6a14fd12a91", "sha256": "a0de9dee2763b6c94dd9fe567dee7c2a98b5dde9efb7744e32973a16b7179b97" }, "downloads": -1, "filename": "quick_cache-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "01af2cdd42e944b043f8d6a14fd12a91", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8378, "upload_time": "2017-08-24T00:20:13", "url": "https://files.pythonhosted.org/packages/b3/c1/6453665ed6e2a0f027249953808b28980fc541955a770d4cef6089be86f4/quick_cache-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3db648e44eaa4c41f27584a402652e3a", "sha256": "9a2d4281c8cf3f6cf9ac5b61357e7f02d07b0816d77635cddc52debbbc96a4b2" }, "downloads": -1, "filename": "quick_cache-0.2.3.tar.gz", "has_sig": false, "md5_digest": "3db648e44eaa4c41f27584a402652e3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7154, "upload_time": "2017-08-24T00:20:14", "url": "https://files.pythonhosted.org/packages/8a/51/6c3a5695122388ae4642d211f11685348fb033242d3edcbb9c4b7149b9cf/quick_cache-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "277b3dbfe60b0164550aa666973bda4a", "sha256": "2394a5e0c6f305945267e266d19230220194296d891574d6cb264c9607f2c3ec" }, "downloads": -1, "filename": "quick_cache-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "277b3dbfe60b0164550aa666973bda4a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8440, "upload_time": "2017-10-01T16:06:03", "url": "https://files.pythonhosted.org/packages/b4/81/221e438e0a20b6ba505665452d964fe09180cbe4f1892e8cde537ada58be/quick_cache-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "30b2eb61dd021405722480ae5b923e8f", "sha256": "19929dfecf89258640a1c2f5edfbd4bda6a51b983ebe42481cfa7e3042cf0324" }, "downloads": -1, "filename": "quick_cache-0.2.4.tar.gz", "has_sig": false, "md5_digest": "30b2eb61dd021405722480ae5b923e8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7208, "upload_time": "2017-10-01T16:06:04", "url": "https://files.pythonhosted.org/packages/f4/43/f79138ff2b395f8370af62b742334bcdf318b3c4409b29038bf987cf113f/quick_cache-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "08fb48987511d6c9fd6f2361be921f69", "sha256": "ac862545103ddb23d749c9f601950f2b09209ea745057efeddc94527095af649" }, "downloads": -1, "filename": "quick_cache-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "08fb48987511d6c9fd6f2361be921f69", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8556, "upload_time": "2018-01-03T05:18:00", "url": "https://files.pythonhosted.org/packages/08/d6/e7d15259fc663f62d10d79269af09e6d044fd7dac2ba7a6b728c9e094dae/quick_cache-0.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2dd0f77fb73bbd288794e2ffc88f5556", "sha256": "4e53ff15a2f6b42da1bc8a2fd905080cee32f2cd531d2d2664a1937d117ec8bc" }, "downloads": -1, "filename": "quick_cache-0.2.5.tar.gz", "has_sig": false, "md5_digest": "2dd0f77fb73bbd288794e2ffc88f5556", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7266, "upload_time": "2018-01-03T05:18:02", "url": "https://files.pythonhosted.org/packages/4e/1e/08a3ec6f455cee876b98e0f0a561cabc8b2f95bbc30ef8012758a10e5ce1/quick_cache-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "48c6c2968ed593923d763dbfa621c219", "sha256": "fe182267174181cd02c6eb4074b99ad0ce75613330335c3484df25e320946c1b" }, "downloads": -1, "filename": "quick_cache-0.2.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "48c6c2968ed593923d763dbfa621c219", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8598, "upload_time": "2018-01-23T19:31:51", "url": "https://files.pythonhosted.org/packages/2f/df/0f43c0ef671ba05e02328e8fc6c67e9f618b3a7468ce04f33015e3d01f0d/quick_cache-0.2.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "923ac7b112ec294c06e517b6bd37e533", "sha256": "930a5dde1d8314f2bd9292d06dfebd7003b2ecb540653944d29a697d639cced9" }, "downloads": -1, "filename": "quick_cache-0.2.6.tar.gz", "has_sig": false, "md5_digest": "923ac7b112ec294c06e517b6bd37e533", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7288, "upload_time": "2018-01-23T19:31:53", "url": "https://files.pythonhosted.org/packages/1c/68/6a77443b2555e4b04ca8961e0757b1d8f4274f6d6ad7c0b5c31c4f5b6bc9/quick_cache-0.2.6.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "e59f081c8cea0d028bfec428ea9b13cf", "sha256": "ae714316980bea5854cdfb9575118368713705f22346cc8ed11cc7c85d697a23" }, "downloads": -1, "filename": "quick_cache-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e59f081c8cea0d028bfec428ea9b13cf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6985, "upload_time": "2018-06-20T20:30:46", "url": "https://files.pythonhosted.org/packages/f7/2e/3e26fda5ac6d489c33bb69a2d6cccf95ed0db994aeb29809161007e4351a/quick_cache-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "accc5db78b8fc740e542ff13e9f02aed", "sha256": "5b244d10bd2e11c260b6548c62af2162727f640b4224c47189b8bf5265a1b396" }, "downloads": -1, "filename": "quick_cache-0.3.0.tar.gz", "has_sig": false, "md5_digest": "accc5db78b8fc740e542ff13e9f02aed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7477, "upload_time": "2018-06-20T20:30:47", "url": "https://files.pythonhosted.org/packages/d3/ef/e06fff1e54a468bf0727ba375b10762d208ab0a1dd4918914dc286c20ba4/quick_cache-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "35aa52d9139f285dd871a467f0e2df5f", "sha256": "9599c99f9e1f7602790b85e233c49a970f2121c5895e218453fbcee1939f5099" }, "downloads": -1, "filename": "quick_cache-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "35aa52d9139f285dd871a467f0e2df5f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6991, "upload_time": "2018-06-20T20:47:05", "url": "https://files.pythonhosted.org/packages/7b/43/b8cc225f451c8906d358e155d25fd2fafc0eb9d3646befacf14d4f3a3341/quick_cache-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7db231972988ad6b22fbc2a11dc63e46", "sha256": "c600bdd266b4964728f6bcb466327ed7323487b854fdbdd48c15170f1f81327e" }, "downloads": -1, "filename": "quick_cache-0.3.1.tar.gz", "has_sig": false, "md5_digest": "7db231972988ad6b22fbc2a11dc63e46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7475, "upload_time": "2018-06-20T20:47:06", "url": "https://files.pythonhosted.org/packages/60/b6/cd7e97cf4affb91c92a9680aea04260d3ce96a46b2a964becf5086ccbe41/quick_cache-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "35aa52d9139f285dd871a467f0e2df5f", "sha256": "9599c99f9e1f7602790b85e233c49a970f2121c5895e218453fbcee1939f5099" }, "downloads": -1, "filename": "quick_cache-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "35aa52d9139f285dd871a467f0e2df5f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6991, "upload_time": "2018-06-20T20:47:05", "url": "https://files.pythonhosted.org/packages/7b/43/b8cc225f451c8906d358e155d25fd2fafc0eb9d3646befacf14d4f3a3341/quick_cache-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7db231972988ad6b22fbc2a11dc63e46", "sha256": "c600bdd266b4964728f6bcb466327ed7323487b854fdbdd48c15170f1f81327e" }, "downloads": -1, "filename": "quick_cache-0.3.1.tar.gz", "has_sig": false, "md5_digest": "7db231972988ad6b22fbc2a11dc63e46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7475, "upload_time": "2018-06-20T20:47:06", "url": "https://files.pythonhosted.org/packages/60/b6/cd7e97cf4affb91c92a9680aea04260d3ce96a46b2a964becf5086ccbe41/quick_cache-0.3.1.tar.gz" } ] }