A package for making properties lazy
copied from cf-staging / lazy-propertyProperties are a very useful feature of Python, effectively allowing an attribute to masquerade as a method (with no arguments other than self). However, sometimes we want to store the results of an expensive computation in an attribute.