# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= python-lazy-object-proxy VERSION= 1.12.0 KEYWORDS= python VARIANTS= v13 v14 SDESC[v13]= Fast and thorough lazy object proxy (3.13) SDESC[v14]= Fast and thorough lazy object proxy (3.14) HOMEPAGE= https://pypi.org/project/lazy-object-proxy/ CONTACT= Python_Automaton[python@ironwolf.systems] DOWNLOAD_GROUPS= main SITES[main]= PYPI/l/lazy-object-proxy DISTFILE[1]= lazy_object_proxy-1.12.0.tar.gz:main DIST_SUBDIR= python-src DF_INDEX= 1 SPKGS[v13]= single SPKGS[v14]= single OPTIONS_AVAILABLE= PY313 PY314 OPTIONS_STANDARD= none VOPTS[v13]= PY313=ON PY314=OFF VOPTS[v14]= PY313=OFF PY314=ON BUILD_DEPENDS= python-pip:single:python_used python-setuptools-scm:single:python_used DISTNAME= lazy_object_proxy-1.12.0 GENERATED= yes [PY313].BUILD_DEPENDS_ON= python-setuptools-scm:single:v13 [PY313].USES_ON= python:v13,pep517 [PY314].BUILD_DEPENDS_ON= python-setuptools-scm:single:v14 [PY314].USES_ON= python:v14,pep517 [FILE:1644:descriptions/desc.single] ======== Overview ======== :alt: Documentation Status .. end-badges A fast and thorough lazy object proxy. * Free software: BSD 2-Clause License Note that this is based on `wrapt`_'s ObjectProxy with one big change: it calls a function the first time the proxy object is used, while `wrapt.ObjectProxy` just forwards the method calls to the target object. In other words, you use `lazy-object-proxy` when you only have the object way later and you use `wrapt.ObjectProxy` when you want to override few methods (by subclassing) and forward everything else to the target object. Example:: import lazy_object_proxy def expensive_func(): from time import sleep print('starting calculation') # just as example for a very slow computation sleep(2) print('finished calculation') # return the result of the calculation return 10 obj = lazy_object_proxy.Proxy(expensive_func) # function is called only when object is actually used print(obj) # now expensive_func is called print(obj) # the result without calling the expensive_func Installation ============ :: pip install lazy-object-proxy You can also install the in-development version with:: pip install https://github.com/ionelmc/python-lazy-object-proxy/archive/master.zip Documentation ============= https://python-lazy-object-proxy.readthedocs.io/ Development =========== To run all the tests run:: tox Acknowledgements ================ This project is based on some code from `wrapt`_ as you can see in the git history. .. _wrapt: https://github.com/GrahamDumpleton/wrapt [FILE:121:distinfo] 1f5a462d92fd0cfb82f1fab28b51bfb209fabbe6aabf7f0d51472c0c124c0c61 43681 python-src/lazy_object_proxy-1.12.0.tar.gz