Skip to main content
https://badge.fury.io/py/memoized-property.png https://travis-ci.org/estebistec/python-memoized-property.png?branch=master https://pypip.in/d/memoized-property/badge.png

A simple python decorator for defining properties that only run their fget function once.

  • Free software: BSD license

What?

A Python property that only calls its fget function one time. How many times have you written this code (or similar)?

def class C(object):

    @property
    def name(self):
        if not hasattr(self, '_name'):
            self._name = some_expensive_load()
        return self._name

I’ve written it just enough times to be annoyed enough to capture this module. The result is this:

from memoized_property import memoized_property

def class C(object):

    @memoized_property
    def name(self):
        # Boilerplate guard conditional avoided, but this is still only called once
        return some_expensive_load()

Why?

I couldn’t find a pre-existing version of this on PyPI. I found one other on GitHub, https://github.com/ytyng/python-memoized-property, but it was not published to PyPI.

History

1.0.2 (2014-05-02)

  • Remove dependency on six

1.0.1 (2014-01-01)

  • Added python 3.2 compatability

1.0.0 (2013-12-26)

  • First release on PyPI.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

memoized-property-1.0.2.tar.gz (4.8 kB view details)

Uploaded Source

File details

Details for the file memoized-property-1.0.2.tar.gz.

File metadata

File hashes

Hashes for memoized-property-1.0.2.tar.gz
Algorithm Hash digest
SHA256 af37ebec7cbca7654e2036ed6913a4b74a4ea9eee350cea8f5916f0b4ded2827
MD5 cd32a557124e7f161a93434c465fe57d
BLAKE2b-256 ceec59dd02bf67d5b31c7dca8e51f4510467d75bf97c66b3fccae88c0d8600e2

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.3

1 file

This release

1.0.2 This release

1 file

1.0.1

1 file

1.0.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page