PK!gq|B::cachedprop/__init__.py__version__ = '0.1.0' from .src import cpd # noqa: F401 PK!ZNcachedprop/src.pydef cpd(f): """ cpd - cached property decorator "caches" the result of an actual property function """ @property def wrapper(self, *args, **kwargs): value = getattr(self, f'_{f.__name__}', None) if value is None: value = f(self, *args, **kwargs) setattr(self, f'_{f.__name__}', value) return value return wrapper PK!HڽTU cachedprop-0.1.0.dist-info/WHEEL A н#Z;/"d&F[xzw@Zpy3Fv]\fi4WZ^EgM_-]#0(q7PK!Hr7#cachedprop-0.1.0.dist-info/METADATAS]O@|_%/PPRYCAKP.>q_;'w'H/fgg_0RD^Қ^}6s(DQcu졺j~@AW1ֶ E}S'*>}{H)OA%ZKS0UC '|~G/yd9̕70S' C᥋4Ԛ&V>f4. c7tfDJ?u.Y&uC-QKDYaĔL5âJr;Z/eE2 EG{Yo|?4RpElB/XȐҺ~dWNìTkn)#-BD<7l03Ԗv[@jg}•]39L8y1L>-̧ua?4㽣?L. #ב&2}fԮcMgIdAsQy2kੌ MI),w~;vva_▽QFx{7PK!H*m!cachedprop-0.1.0.dist-info/RECORD}n0R8Cd KC#[\-vM'Dlg0 7//ϑm*Ɍ(26Et#84 #{%"+)U3R,gX %1gX}iβ{O1EׄX8UfnT_>ut#2=Z)> *M;FY<z`:YT{sZFPK!gq|B::cachedprop/__init__.pyPK!ZNncachedprop/src.pyPK!HڽTU "cachedprop-0.1.0.dist-info/WHEELPK!Hr7#cachedprop-0.1.0.dist-info/METADATAPK!H*m!,cachedprop-0.1.0.dist-info/RECORDPKqe