{ "info": { "author": "Michael Torpey", "author_email": "mct25@st-andrews.ac.uk", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "pypersist\n=========\n\n[![Build Status](https://travis-ci.org/mtorpey/pypersist.svg?branch=master)](https://travis-ci.org/mtorpey/pypersist)\n[![codecov](https://codecov.io/gh/mtorpey/pypersist/branch/master/graph/badge.svg)](https://codecov.io/gh/mtorpey/pypersist)\n[![Documentation Status](https://readthedocs.org/projects/pypersist/badge/?version=latest)](https://pypersist.readthedocs.io/en/latest/?badge=latest)\n[![PyPI version](https://badge.fury.io/py/pypersist.svg)](https://badge.fury.io/py/pypersist)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mtorpey/pypersist/master?filepath=binder/demo.ipynb)\n\npypersist is a persistent memoisation framework for Python 2 and 3. Persistent\nmemoisation is the practice of storing the output of a function permanently to a\ndisk or a server so that the result can be looked up automatically in the\nfuture, avoiding any known results being recomputed unnecessarily.\n\nInstallation\n------------\npypersist is available from PyPI, and the latest release can be installed using,\nfor example:\n\n pip3 install --user pypersist\n\nAlternatively, the latest development version can be installed using Github:\n\n git clone https://github.com/mtorpey/pypersist.git\n pip3 install --user ./pypersist\n\nExamples\n--------\nTo use, import the `persist` class from the `pypersist` package:\n\n```python\nfrom pypersist import persist\n```\n\nand use it as a decorator when writing a function:\n\n```python\n@persist\ndef double(x):\n return x * 2\n\nprint(double(3))\nprint(double(6.5))\n```\n\nThis will store the outputs of the `double` function in a directory called\n`persist/double/`, in a machine-readable format.\n\nOne can specify various arguments to `persist`. For example:\n\n```python\n@persist(key=lambda x,y: (x,y),\n hash=lambda k: '%s_to_the_power_of_%s' % k,\n pickle=str,\n unpickle=int)\ndef power(x, y):\n return x ** y\n\nprint(power(2,4))\nprint(power(10,5))\n```\n\nwill store the outputs of `power` in human-readable files with descriptive\nfilenames.\n\nMany more options are available. See the `persist` class documentation for a\nfull description, or [launch the included notebook on\nBinder](https://mybinder.org/v2/gh/mtorpey/pypersist/master?filepath=binder/demo.ipynb)\nfor more examples.\n\nSee [this HackMD](https://hackmd.io/1M5clex-TYWCuxxgi05k5A) and the Issue\ntracker for current plans.\n\nCiting\n------\nPlease cite this package as:\n\n[Tor19] \nM. Torpey, \npypersist, \nPython memoisation framework,\nVersion X.Y (20XX),\nhttps://github.com/mtorpey/pypersist.\n\nAcknowledgements\n----------------\npypersist was created as part of the OpenDreamKit project: \nhttps://opendreamkit.org/\n\nThis part of the project is summarised in [this report](https://github.com/OpenDreamKit/OpenDreamKit/blob/master/WP6/D6.9/report-final.pdf).\n\n\n\n\n\n\n
\n \n\n This infrastructure is part of a project that has received funding from the\n European Union's Horizon 2020 research and innovation programme under grant\n agreement No 676541.\n
", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mtorpey/pypersist", "keywords": "", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "pypersist", "package_url": "https://pypi.org/project/pypersist/", "platform": "", "project_url": "https://pypi.org/project/pypersist/", "project_urls": { "Homepage": "https://github.com/mtorpey/pypersist" }, "release_url": "https://pypi.org/project/pypersist/0.8/", "requires_dist": null, "requires_python": "", "summary": "Persistent memoisation framework for Python", "version": "0.8" }, "last_serial": 5129741, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "945d7d2cb2364731e1da2956a2d3691a", "sha256": "0a0e1ca8a37720d63f3ad2b47b9a0755a79271eeff9bdfa759600d2fa23ff8df" }, "downloads": -1, "filename": "pypersist-0.2.tar.gz", "has_sig": false, "md5_digest": "945d7d2cb2364731e1da2956a2d3691a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8109, "upload_time": "2019-01-29T10:33:04", "url": "https://files.pythonhosted.org/packages/bd/7e/522b113a4fac3138d01e74f0eeb39ba962c539a929af1e824c3af879f5ce/pypersist-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "ba2e55dc4e8b0784f0638965322bdc52", "sha256": "22a0e1fe5dec1a358340bc2667985c0f6de7bf919525950db6ff74b397f38f38" }, "downloads": -1, "filename": "pypersist-0.3.tar.gz", "has_sig": false, "md5_digest": "ba2e55dc4e8b0784f0638965322bdc52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9191, "upload_time": "2019-02-05T17:22:41", "url": "https://files.pythonhosted.org/packages/05/19/f2fa265593353b3031484afbce7cf286a944136cd56f61b3f859e247aae7/pypersist-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "cd715cd4768996232483e89d8ee91868", "sha256": "951713b71460aba8431fb79db06e96703c1d3ec0108c4c39546b1474a27e54a1" }, "downloads": -1, "filename": "pypersist-0.4.tar.gz", "has_sig": false, "md5_digest": "cd715cd4768996232483e89d8ee91868", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13302, "upload_time": "2019-02-06T12:21:40", "url": "https://files.pythonhosted.org/packages/48/c7/8accce0f6f2e43b8a55ca4e7a0c0802c0c66ef59759181e7ce1a0353bda7/pypersist-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "00176e21318ad7970bc7dc896909803d", "sha256": "57fd0b84d8acd005a3801dd113c8cc0dd79bb04b856909f1dfd3ef482e47cb9f" }, "downloads": -1, "filename": "pypersist-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "00176e21318ad7970bc7dc896909803d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 14393, "upload_time": "2019-02-14T11:17:25", "url": "https://files.pythonhosted.org/packages/96/6e/00249b0d159fc92e1da90b18550a3a85c2b2c4341620f7306847e2f3c544/pypersist-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7716418822fb23d35fcee845a6581782", "sha256": "ff0a9c31b67b11c49724510e12e9e760fe00304f7347b5ebe6200bd68a74a814" }, "downloads": -1, "filename": "pypersist-0.5.tar.gz", "has_sig": false, "md5_digest": "7716418822fb23d35fcee845a6581782", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13816, "upload_time": "2019-02-14T11:17:23", "url": "https://files.pythonhosted.org/packages/0d/ca/2c6d9175899e087bcf8f9078f24a157570a5cacba80d76d0955e98fa06c3/pypersist-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "9beb6f30b9d90ba7c509b01f8d05ad80", "sha256": "7dff7c2edf017d46cf8f0bdbdb70a389d1207ccb70f84f887a9c52916143e5d4" }, "downloads": -1, "filename": "pypersist-0.6.tar.gz", "has_sig": false, "md5_digest": "9beb6f30b9d90ba7c509b01f8d05ad80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14723, "upload_time": "2019-02-28T17:42:24", "url": "https://files.pythonhosted.org/packages/38/8c/dd3f6009e68725ab9250d969d8da3e9980cd9bf82c0800b3e1531f5cfe56/pypersist-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "797853d2973aa3e88515c1214829a24b", "sha256": "d2a3706ac4b476affd60afda7f385e380edeb5577efab01758730d3ff5960ee0" }, "downloads": -1, "filename": "pypersist-0.7.tar.gz", "has_sig": false, "md5_digest": "797853d2973aa3e88515c1214829a24b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16927, "upload_time": "2019-04-11T15:55:33", "url": "https://files.pythonhosted.org/packages/82/21/db75ce944ee8ddf564f4918dc55f956e713fd9ae1dac5e3b62a57d7c96e4/pypersist-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "9bfe942f231d1ede81f0f025c3fffddf", "sha256": "669b293536dbfd1f4117ede1d1d96cfe3cdddedcd5f4b0541224307f3e9665a3" }, "downloads": -1, "filename": "pypersist-0.8.tar.gz", "has_sig": false, "md5_digest": "9bfe942f231d1ede81f0f025c3fffddf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16991, "upload_time": "2019-04-11T16:06:16", "url": "https://files.pythonhosted.org/packages/db/19/7c6293b5bfcf34bfaa972642b9f017902ca885ee5c93e0fd47bc922677c8/pypersist-0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9bfe942f231d1ede81f0f025c3fffddf", "sha256": "669b293536dbfd1f4117ede1d1d96cfe3cdddedcd5f4b0541224307f3e9665a3" }, "downloads": -1, "filename": "pypersist-0.8.tar.gz", "has_sig": false, "md5_digest": "9bfe942f231d1ede81f0f025c3fffddf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16991, "upload_time": "2019-04-11T16:06:16", "url": "https://files.pythonhosted.org/packages/db/19/7c6293b5bfcf34bfaa972642b9f017902ca885ee5c93e0fd47bc922677c8/pypersist-0.8.tar.gz" } ] }