{ "info": { "author": "Mike McKerns", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Database", "Topic :: Scientific/Engineering", "Topic :: Software Development" ], "description": "-------------------------------------------------------\nklepto: persistent caching to memory, disk, or database\n-------------------------------------------------------\n\nAbout Klepto\n============\n\n``klepto`` extends python's ``lru_cache`` to utilize different keymaps and\nalternate caching algorithms, such as ``lfu_cache`` and ``mru_cache``.\nWhile caching is meant for fast access to saved results, ``klepto`` also\nhas archiving capabilities, for longer-term storage. ``klepto`` uses a\nsimple dictionary-sytle interface for all caches and archives, and all\ncaches can be applied to any python function as a decorator. Keymaps\nare algorithms for converting a function's input signature to a unique\ndictionary, where the function's results are the dictionary value.\nThus for ``y = f(x)``, ``y`` will be stored in ``cache[x]`` (e.g. ``{x:y}``).\n\n``klepto`` provides both standard and *\"safe\"* caching, where *\"safe\"* caches\nare slower but can recover from hashing errors. ``klepto`` is intended\nto be used for distributed and parallel computing, where several of\nthe keymaps serialize the stored objects. Caches and archives are\nintended to be read/write accessible from different threads and\nprocesses. ``klepto`` enables a user to decorate a function, save the\nresults to a file or database archive, close the interpreter,\nstart a new session, and reload the function and it's cache.\n\n``klepto`` is part of ``pathos``, a python framework for heterogenous computing.\n``klepto`` is in active development, so any user feedback, bug reports, comments,\nor suggestions are highly appreciated. A list of known issues is maintained\nat http://trac.mystic.cacr.caltech.edu/project/pathos/query.html, with a public\nticket list at https://github.com/uqfoundation/klepto/issues.\n\n\nMajor Features\n==============\n\n``klepto`` has standard and *\"safe\"* variants of the following:\n\n - ``lfu_cache`` - the least-frequently-used caching algorithm\n - ``lru_cache`` - the least-recently-used caching algorithm\n - ``mru_cache`` - the most-recently-used caching algorithm\n - ``rr_cache`` - the random-replacement caching algorithm\n - ``no_cache`` - a dummy caching interface to archiving\n - ``inf_cache`` - an infinitely-growing cache\n\n``klepto`` has the following archive types:\n\n - ``file_archive`` - a dictionary-style interface to a file\n - ``dir_archive`` - a dictionary-style interface to a folder of files\n - ``sqltable_archive`` - a dictionary-style interface to a sql database table\n - ``sql_archive`` - a dictionary-style interface to a sql database\n - ``hdfdir_archive`` - a dictionary-style interface to a folder of hdf5 files\n - ``hdf_archive`` - a dictionary-style interface to a hdf5 file\n - ``dict_archive`` - a dictionary with an archive interface\n - ``null_archive`` - a dictionary-style interface to a dummy archive \n\n``klepto`` provides the following keymaps:\n\n - ``keymap`` - keys are raw python objects\n - ``hashmap`` - keys are a hash for the python object\n - ``stringmap`` - keys are the python object cast as a string\n - ``picklemap`` - keys are the serialized python object\n\n``klepto`` also includes a few useful decorators providing:\n\n - simple, shallow, or deep rounding of function arguments\n - cryptographic key generation, with masking of selected arguments\n\n\nCurrent Release\n===============\n\nThis documentation is for version ``klepto-0.1.8``.\n\nThe latest released version of ``klepto`` is available from:\n\n https://pypi.org/project/klepto\n\n``klepto`` is distributed under a 3-clause BSD license.\n\n >>> import klepto\n >>> print (klepto.license())\n\n\nDevelopment Version \n===================\n\nYou can get the latest development version with all the shiny new features at:\n\n https://github.com/uqfoundation\n\nIf you have a new contribution, please submit a pull request.\n\n\nInstallation\n============\n\n``klepto`` is packaged to install from source, so you must\ndownload the tarball, unzip, and run the installer::\n\n [download]\n $ tar -xvzf klepto-0.1.8.tar.gz\n $ cd klepto-0.1.8\n $ python setup py build\n $ python setup py install\n\nYou will be warned of any missing dependencies and/or settings\nafter you run the \"build\" step above. \n\nAlternately, ``klepto`` can be installed with ``pip`` or ``easy_install``::\n\n $ pip install klepto\n\n\nRequirements\n============\n\n``klepto`` requires:\n\n - ``python``, **version >= 2.5** or **version >= 3.1**, or ``pypy``\n - ``dill``, **version >= 0.3.1**\n - ``pox``, **version >= 0.2.7**\n\nOptional requirements:\n\n - ``h5py``, **version >= 2.8.0**\n - ``pandas``, **version >= 0.17.0**\n - ``sqlalchemy``, **version >= 0.8.4**\n - ``jsonpickle``, **version >= 0.9.6**\n - ``cloudpickle``, **version >= 0.5.2**\n - ``setuptools``, **version >= 0.6**\n\n\nMore Information\n================\n\nProbably the best way to get started is to look at the documentation at\nhttp://klepto.rtfd.io. Also see ``klepto.tests`` for a set of scripts that\ntest the caching and archiving functionalities in ``klepto``.\nYou can run the test suite with ``python -m klepto.tests``. The\nsource code is also generally well documented, so further questions may\nbe resolved by inspecting the code itself. Please feel free to submit\na ticket on github, or ask a question on stackoverflow (**@Mike McKerns**).\nIf you would like to share how you use ``klepto`` in your work, please send\nan email (to **mmckerns at uqfoundation dot org**).\n\n\nCitation\n========\n\nIf you use ``klepto`` to do research that leads to publication, we ask that you\nacknowledge use of ``klepto`` by citing the following in your publication::\n\n Michael McKerns and Michael Aivazis,\n \"pathos: a framework for heterogeneous computing\", 2010- ;\n http://trac.mystic.cacr.caltech.edu/project/pathos\n\nPlease see http://trac.mystic.cacr.caltech.edu/project/pathos for\nfurther information.", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/uqfoundation/klepto/releases/download/klepto-0.1.8/klepto-0.1.8.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.org/project/klepto", "keywords": "", "license": "3-clause BSD", "maintainer": "", "maintainer_email": "", "name": "klepto", "package_url": "https://pypi.org/project/klepto/", "platform": "Linux", "project_url": "https://pypi.org/project/klepto/", "project_urls": { "Download": "https://github.com/uqfoundation/klepto/releases/download/klepto-0.1.8/klepto-0.1.8.tar.gz", "Homepage": "https://pypi.org/project/klepto" }, "release_url": "https://pypi.org/project/klepto/0.1.8/", "requires_dist": null, "requires_python": "", "summary": "persistent caching to memory, disk, or database", "version": "0.1.8" }, "last_serial": 5899917, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "5f40b9d318dadce138c01e3e39a89dba", "sha256": "27fbffb6058e14447e0699e145f80dd2f0002a8843e9a48dd6d254642627a57d" }, "downloads": -1, "filename": "klepto-0.1.tgz", "has_sig": false, "md5_digest": "5f40b9d318dadce138c01e3e39a89dba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58247, "upload_time": "2014-05-19T16:14:43", "url": "https://files.pythonhosted.org/packages/c8/cf/47370c1b57f9ead7a1ebb8de8f162d30d8ef92549cf451e54e58bbb388e0/klepto-0.1.tgz" }, { "comment_text": "", "digests": { "md5": "94d377fb9c64d7055875015372f21ff2", "sha256": "debd70796ec07eddc3ae8f13aaab559cb2323c775f32da2a9c4e3dbe1ae6d291" }, "downloads": -1, "filename": "klepto-0.1.zip", "has_sig": false, "md5_digest": "94d377fb9c64d7055875015372f21ff2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78195, "upload_time": "2014-05-19T16:14:54", "url": "https://files.pythonhosted.org/packages/bb/88/f340afed55eafef83bb688ea89d417b48c1c72c34f6f6528b3e1686ef423/klepto-0.1.zip" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3212e34bc64351bf49abfe43d8422c2b", "sha256": "b0a90a409d0bc5e59f18a68459496d0866167742866cd78039834fb28df93884" }, "downloads": -1, "filename": "klepto-0.1.1.tgz", "has_sig": false, "md5_digest": "3212e34bc64351bf49abfe43d8422c2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58209, "upload_time": "2014-06-01T22:37:40", "url": "https://files.pythonhosted.org/packages/b9/6c/f58ec1ae59e9015245079101b19e16f8c866e56658d56bb66065ca225218/klepto-0.1.1.tgz" }, { "comment_text": "", "digests": { "md5": "4eba11d8cd40545d5d4199f1b4cd98cd", "sha256": "15c2e9004c99c37ba62822a6df015c31ca12d91f8dbb1fcdd4ee5b7e2e50d246" }, "downloads": -1, "filename": "klepto-0.1.1.zip", "has_sig": false, "md5_digest": "4eba11d8cd40545d5d4199f1b4cd98cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78347, "upload_time": "2014-06-01T22:37:52", "url": "https://files.pythonhosted.org/packages/ff/51/e4f8e4163cbc7ececf0ad69f1b231db4a76a72ff686445010b5b172c9ab2/klepto-0.1.1.zip" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "116386e45ccd3afdf35d91a0e996cfdd", "sha256": "dd42a72fe708c61cb77a2d1e09be052b098e962318e1922ee334868c533901a7" }, "downloads": -1, "filename": "klepto-0.1.2.tgz", "has_sig": false, "md5_digest": "116386e45ccd3afdf35d91a0e996cfdd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61548, "upload_time": "2016-02-06T20:48:07", "url": "https://files.pythonhosted.org/packages/48/65/e2d249d9bce14faf735649c83dcefce94f8d2fa460f9155869b7339701a7/klepto-0.1.2.tgz" }, { "comment_text": "", "digests": { "md5": "cbb6ca68026e05238bdc58dd6322d573", "sha256": "b9a0bcaea750eaf412e813c91a85f711f64b8c5909e101d97472ac68c1218004" }, "downloads": -1, "filename": "klepto-0.1.2.zip", "has_sig": false, "md5_digest": "cbb6ca68026e05238bdc58dd6322d573", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79312, "upload_time": "2016-02-06T20:48:25", "url": "https://files.pythonhosted.org/packages/a1/42/89e82cadf6690c371d15a4c23c7ecc7df84be4b9bc3c9e4fcbf656d25109/klepto-0.1.2.zip" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e8a55a2d9aa38d77192cd456022cb388", "sha256": "6678ceb960a9cead40d762aeb98f1edbca97b4e1d1ca3c2fc765ea5f438c22e6" }, "downloads": -1, "filename": "klepto-0.1.3.zip", "has_sig": false, "md5_digest": "e8a55a2d9aa38d77192cd456022cb388", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83958, "upload_time": "2017-02-01T20:46:47", "url": "https://files.pythonhosted.org/packages/ca/13/f2f28de44200cbed6cd51dc997e9f9cac2fcbb7e945c5c59d34db967d713/klepto-0.1.3.zip" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "ca7e1cd79520f6ba853e06f0d6b217ab", "sha256": "fef44c2b2f28924bf9af325f3988259080ca19775a925d201530240cc422a430" }, "downloads": -1, "filename": "klepto-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ca7e1cd79520f6ba853e06f0d6b217ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70340, "upload_time": "2017-07-07T22:53:43", "url": "https://files.pythonhosted.org/packages/99/a0/3e924a38de3d857131ca6e1b623e7465465c895058a260ed7b5d46b66ed7/klepto-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "92155cdcce7b77bce0bc50afe46c010f", "sha256": "df1a485e998c39766a4b4eaf9d82a010778ecf1b756132c1a8d61505bbad7462" }, "downloads": -1, "filename": "klepto-0.1.5.tar.gz", "has_sig": false, "md5_digest": "92155cdcce7b77bce0bc50afe46c010f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 703510, "upload_time": "2018-06-21T02:40:34", "url": "https://files.pythonhosted.org/packages/5b/91/440b43e3b919e588f72a091891bc872fbd02a70c5347b89c1117eb5ca72b/klepto-0.1.5.tar.gz" } ], "0.1.5.1": [ { "comment_text": "", "digests": { "md5": "7bc4004844d414a466600d1217e6c9b6", "sha256": "98932ecedb05754f15581226e2846cfb594d526a6df74b60fcc76f5bde17339d" }, "downloads": -1, "filename": "klepto-0.1.5.1.tar.gz", "has_sig": false, "md5_digest": "7bc4004844d414a466600d1217e6c9b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 153912, "upload_time": "2018-06-21T03:33:18", "url": "https://files.pythonhosted.org/packages/1e/28/0a6a9215d6ea0a8ddc4d0e33ddb02e29cfb1c3d419fcd9f1047b926d0070/klepto-0.1.5.1.tar.gz" } ], "0.1.5.2": [ { "comment_text": "", "digests": { "md5": "e5b712941129e5da9ced901826711ee5", "sha256": "42296f385b3b236a2f7f7ab99e15bbce494f993de57923ce3932b64cd244165d" }, "downloads": -1, "filename": "klepto-0.1.5.2.tar.gz", "has_sig": false, "md5_digest": "e5b712941129e5da9ced901826711ee5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 154029, "upload_time": "2018-06-23T04:20:35", "url": "https://files.pythonhosted.org/packages/9e/ca/7213115a5f609b13caec9473ba741cce6766e2a525a6f1880be36fd9622b/klepto-0.1.5.2.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "3237cb79553d63a0df0231eb792b49c4", "sha256": "734008f3c3a4644fcd6379aba661356b6e97044de801264afb80cf53db566ae9" }, "downloads": -1, "filename": "klepto-0.1.6.tar.gz", "has_sig": false, "md5_digest": "3237cb79553d63a0df0231eb792b49c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 154686, "upload_time": "2019-01-21T18:04:41", "url": "https://files.pythonhosted.org/packages/99/a7/688f7e76058165eb139715eb7c7a0db2f5f63cfeabbb004507bbf8f501f3/klepto-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "36a27ecaa0cfa3a2eff18026e5e5efa1", "sha256": "81a06c0ff722c0d05420dcc32421e484082a35f96c7d848dc9c6af08e8df4bf6" }, "downloads": -1, "filename": "klepto-0.1.7.tar.gz", "has_sig": false, "md5_digest": "36a27ecaa0cfa3a2eff18026e5e5efa1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 155967, "upload_time": "2019-06-26T23:35:13", "url": "https://files.pythonhosted.org/packages/64/4a/510d1acb888cdec1d27a7c018a9ccb25d0e1858304242c36fd88fe2069e4/klepto-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "c723f8e8ac4e4ada7ac7c9c9b8077dd9", "sha256": "f365e061a6732ebc657d3ac590eadb3fa1b42d21ec28f0b3f92e99474c502cfd" }, "downloads": -1, "filename": "klepto-0.1.8.tar.gz", "has_sig": false, "md5_digest": "c723f8e8ac4e4ada7ac7c9c9b8077dd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156059, "upload_time": "2019-09-28T15:24:58", "url": "https://files.pythonhosted.org/packages/74/7f/21f04403b589452e25fc96af6868011da7de693016295011b2ecf55e8b4e/klepto-0.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c723f8e8ac4e4ada7ac7c9c9b8077dd9", "sha256": "f365e061a6732ebc657d3ac590eadb3fa1b42d21ec28f0b3f92e99474c502cfd" }, "downloads": -1, "filename": "klepto-0.1.8.tar.gz", "has_sig": false, "md5_digest": "c723f8e8ac4e4ada7ac7c9c9b8077dd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156059, "upload_time": "2019-09-28T15:24:58", "url": "https://files.pythonhosted.org/packages/74/7f/21f04403b589452e25fc96af6868011da7de693016295011b2ecf55e8b4e/klepto-0.1.8.tar.gz" } ] }