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.3 (2016-09-28)

  • Build universal wheels

  • Support Python 3.4, 3.5

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.

Release files for memoized-property 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for memoized-property 1.0.3
File Size Uploaded
memoized-property-1.0.3.tar.gz 5.0 kB Details

Release files / memoized-property-1.0.3.tar.gz

Download URL memoized-property-1.0.3.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4be4d0209944b9b9b678dae9d7e312249fe2e6fb8bdc9bdaa1da4de324f0fcf5
BLAKE2b-256 checksum
How to use checksums
70db23f8b5d86c9385299586c2469b58087f658f58eaeb414be0fd64cfd054e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.3 This release

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release 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