{ "info": { "author": "Steven Cummings", "author_email": "cummingscs@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD 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.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "=================\nmemoized_property\n=================\n\n.. image:: https://badge.fury.io/py/memoized-property.png\n :target: http://badge.fury.io/py/memoized-property\n \n.. image:: https://travis-ci.org/estebistec/python-memoized-property.png?branch=master\n :target: https://travis-ci.org/estebistec/python-memoized-property\n\n.. image:: https://pypip.in/d/memoized-property/badge.png\n :target: https://crate.io/packages/memoized-property?version=latest\n\n\nA simple python decorator for defining properties that only run their fget function once.\n\n* Free software: BSD license\n\nWhat?\n-----\n\nA Python property that only calls its ``fget`` function one time. How many times have you written\nthis code (or similar)?\n\n::\n\n def class C(object):\n\n @property\n def name(self):\n if not hasattr(self, '_name'):\n self._name = some_expensive_load()\n return self._name\n\nI've written it just enough times to be annoyed enough to capture this module. The result is this::\n\n from memoized_property import memoized_property\n\n def class C(object):\n\n @memoized_property\n def name(self):\n # Boilerplate guard conditional avoided, but this is still only called once\n return some_expensive_load()\n\nWhy?\n----\n\nI couldn't find a pre-existing version of this on PyPI. I found one other on GitHub,\nhttps://github.com/ytyng/python-memoized-property, but it was not published to PyPI.\n\n\n\n\nHistory\n-------\n\n1.0.3 (2016-09-28)\n++++++++++++++++++\n\n* Build universal wheels\n* Support Python 3.4, 3.5\n\n1.0.2 (2014-05-02)\n++++++++++++++++++\n\n* Remove dependency on six\n\n1.0.1 (2014-01-01)\n++++++++++++++++++\n\n* Added python 3.2 compatability\n\n1.0.0 (2013-12-26)\n++++++++++++++++++\n\n* First release on PyPI.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/estebistec/python-memoized-property", "keywords": "memoized property decorator", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "memoized-property", "package_url": "https://pypi.org/project/memoized-property/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/memoized-property/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/estebistec/python-memoized-property" }, "release_url": "https://pypi.org/project/memoized-property/1.0.3/", "requires_dist": null, "requires_python": null, "summary": "A simple python decorator for defining properties that only run their fget function once", "version": "1.0.3" }, "last_serial": 2370334, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "720bd0b625085b28ca9c1f4213a5565d", "sha256": "6c810a692c80d02fbb7bb4e3c3c6ee2d74b0ae8c8f12ac55f5556a12e9607695" }, "downloads": -1, "filename": "memoized-property-1.0.0.tar.gz", "has_sig": false, "md5_digest": "720bd0b625085b28ca9c1f4213a5565d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4764, "upload_time": "2013-12-26T16:57:22", "url": "https://files.pythonhosted.org/packages/e7/3b/1bc453af4ee7eddd2efe060f503a6ecb4c32eac7ededb60c4cd5d4b63a49/memoized-property-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "8b05cbd912d3d4c24c2d62c3ab0f5b7f", "sha256": "15b7b19d56dad8bbcaab3935c8880d5f3951a65714114384eeceb7262e91d23f" }, "downloads": -1, "filename": "memoized-property-1.0.1.tar.gz", "has_sig": false, "md5_digest": "8b05cbd912d3d4c24c2d62c3ab0f5b7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4874, "upload_time": "2014-01-01T20:01:45", "url": "https://files.pythonhosted.org/packages/42/8d/81892a7858ce247a2e305cf7ff35db13f260fe232d98dd7fe85971b263d1/memoized-property-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "cd32a557124e7f161a93434c465fe57d", "sha256": "af37ebec7cbca7654e2036ed6913a4b74a4ea9eee350cea8f5916f0b4ded2827" }, "downloads": -1, "filename": "memoized-property-1.0.2.tar.gz", "has_sig": false, "md5_digest": "cd32a557124e7f161a93434c465fe57d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4840, "upload_time": "2014-05-03T01:25:11", "url": "https://files.pythonhosted.org/packages/ce/ec/59dd02bf67d5b31c7dca8e51f4510467d75bf97c66b3fccae88c0d8600e2/memoized-property-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "ae9bf3ef40b9a08a4f1798fb322c6865", "sha256": "4be4d0209944b9b9b678dae9d7e312249fe2e6fb8bdc9bdaa1da4de324f0fcf5" }, "downloads": -1, "filename": "memoized-property-1.0.3.tar.gz", "has_sig": false, "md5_digest": "ae9bf3ef40b9a08a4f1798fb322c6865", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5011, "upload_time": "2016-09-29T06:16:34", "url": "https://files.pythonhosted.org/packages/70/db/23f8b5d86c9385299586c2469b58087f658f58eaeb414be0fd64cfd054e1/memoized-property-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ae9bf3ef40b9a08a4f1798fb322c6865", "sha256": "4be4d0209944b9b9b678dae9d7e312249fe2e6fb8bdc9bdaa1da4de324f0fcf5" }, "downloads": -1, "filename": "memoized-property-1.0.3.tar.gz", "has_sig": false, "md5_digest": "ae9bf3ef40b9a08a4f1798fb322c6865", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5011, "upload_time": "2016-09-29T06:16:34", "url": "https://files.pythonhosted.org/packages/70/db/23f8b5d86c9385299586c2469b58087f658f58eaeb414be0fd64cfd054e1/memoized-property-1.0.3.tar.gz" } ] }