Skip to main content
https://travis-ci.com/penguinolog/backports.cached_property.svg?branch=master https://img.shields.io/pypi/v/backports.cached-property.svg https://img.shields.io/pypi/pyversions/backports.cached-property.svg https://img.shields.io/pypi/status/backports.cached-property.svg https://img.shields.io/github/license/penguinolog/backports.cached_property.svg https://img.shields.io/badge/code%20style-black-000000.svg

What

Python 3.8 adds great descriptor to functools: cached_property. Technically all required APIs was available since python 3.6, but it is what it is.

This package is a backport of this functionality for python 3.6 and 3.7.

How to use

from backports.cached_property import cached_property

And then python 3.8 documentation will work (because code is minimally changed):

Transform a method of a class into a property whose value is computed once and then cached as a normal attribute for the life of the instance. Similar to property, with the addition of caching. Useful for expensive computed properties of instances that are otherwise effectively immutable.

Example:

class DataSet:
    def __init__(self, sequence_of_numbers):
        self._data = sequence_of_numbers

    @cached_property
    def stdev(self):
        return statistics.stdev(self._data)

    @cached_property
    def variance(self):
        return statistics.variance(self._data)

Download files

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

Source Distribution

backports.cached-property-1.0.2.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

backports.cached_property-1.0.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file backports.cached-property-1.0.2.tar.gz.

File metadata

File hashes

Hashes for backports.cached-property-1.0.2.tar.gz
Algorithm Hash digest
SHA256 9306f9eed6ec55fd156ace6bc1094e2c86fae5fb2bf07b6a9c00745c656e75dd
MD5 2de0257c18e50a8d189e93e8860aa674
BLAKE2b-256 08834cea5c665d2af765c02f7d8e8560b5918405c1d7d11ccfc60c4919c1cfd0

See more details on using hashes here.

File details

Details for the file backports.cached_property-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for backports.cached_property-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 baeb28e1cd619a3c9ab8941431fe34e8490861fb998c6c4590693d50171db0cc
MD5 9b0a43c00e5bee52ddfc5d0677359d83
BLAKE2b-256 ebae69e52acdcf381b108b36d989ea58656de4a9ab8863aba6176d80d01041df

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 files

1.0.1

2 files

1.0.0.post2

2 files

1.0.0.post1

2 files

1.0.0.post0

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page