Use `@cache` and `@cache_property` from `functools` for memoization
See https://docs.python.org/3/library/functools.html
We are currently doing this manually using try-except blocks with AttributeError (example). Using the decorators from functools would be cleaner
This is different functionality from using @property with a setter and getter - those should not be changed.
See #2289 for an example of @cached_property
This isn't available in python 3.7, so we need to wait until we drop support (which should be at latest when it stops being supported on 2023-06-27, see https://www.python.org/downloads/)
Hi @tinosulzer, I'd be happy to work on this!
Great!
Apologies for the delay(s), I'll be working on this in this week!