Create properties that are only computed the first time they are called.
Latest commit ec1205e Jun 14, 2013 @sionide21 Installation instructions
Failed to load latest commit information.
.gitignore Initial commit Jun 13, 2013
LICENSE.txt Add mproperty Jun 13, 2013


Only compute the value of properties the first time they are called. The easiest way to explain it is by example.


class Foo(object):
    def __init__(self):
        self._bar_cache = None

    def bar(self):
        if self._bar_cache is None:
            self._bar_cache = 2 * 2 * 2
        return self._bar_cache


from memoize import mproperty

class Foo(object):
    def bar(self):
        return 2 * 2 * 2


This package is available on pypi. Installation is as simple as:

pip install memoize