The module provides a fast implementation of cached properties for Python 3.8+.
The API is designed to be nearly identical to the built-in functools.cached_property
class,
except for the additional under_cached_property
class which uses self._cache
instead of self.__dict__
to store the cached values and prevents __set__
from being called.
For full documentation please read https://propcache.aio-libs.org.
$ pip install propcache
The library is Python 3 only!
PyPI contains binary wheels for Linux, Windows and MacOS. If you want to install
propcache
on another operating system (like Alpine Linux, which is not
manylinux-compliant because of the missing glibc and therefore, cannot be
used with our wheels) the the tarball will be used to compile the library from
the source code. It requires a C compiler and and Python headers installed.
To skip the compilation you must explicitly opt-in by using a PEP 517
configuration setting pure-python
, or setting the PROPCACHE_NO_EXTENSIONS
environment variable to a non-empty value, e.g.:
$ pip install propcache --config-settings=pure-python=false
Please note that the pure-Python (uncompiled) version is much slower. However, PyPy always uses a pure-Python implementation, and, as such, it is unaffected by this variable.
The documentation is located at https://propcache.aio-libs.org.
The project is hosted on GitHub
Please file an issue on the bug tracker if you have found a bug or have some suggestion in order to improve the library.
aio-libs google group: https://groups.google.com/forum/#!forum/aio-libs
Feel free to post your questions and ideas here.
The propcache
package is derived from yarl
which is written by Andrew Svetlov.
It's Apache 2 licensed and freely available.