Create properties that are only computed the first time they are called.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore Initial commit Jun 13, 2013
LICENSE.txt Add setup file and license Jun 13, 2013
README.md Installation instructions Jun 13, 2013
memoize.py Add mproperty Jun 13, 2013
setup.py Prettier metadata for PKG-INFO Jun 13, 2013

README.md

Memoize

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

Bad

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

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

Good

from memoize import mproperty

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

Installation

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

pip install memoize