You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

memoized-property

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

memoized-property

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

1.0.3
pipPyPI
Maintainers
1

================= memoized_property

.. image:: https://badge.fury.io/py/memoized-property.png :target: http://badge.fury.io/py/memoized-property

.. image:: https://travis-ci.org/estebistec/python-memoized-property.png?branch=master :target: https://travis-ci.org/estebistec/python-memoized-property

.. image:: https://pypip.in/d/memoized-property/badge.png :target: https://crate.io/packages/memoized-property?version=latest

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.

Keywords

memoized property decorator

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts