python-lazy-object-proxy
Port variant py38
Summary Fast and thorough lazy object proxy (PY38)
Package version 1.6.0
Homepage https://github.com/ionelmc/python-lazy-object-proxy
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants py39
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 03 APR 2021, 18:34:51 UTC
Port created 29 NOV 2020, 06:56:42 UTC
Subpackage Descriptions
single ======== Overview ======== 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 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 Changelog ========= 1.6.0 (2021-03-22) ------------------ * Added support for async special methods (__aiter__, __anext__, __await__, __aenter__, __aexit__). These are used in the async for, ``await` and async with statements. Note that __await__ returns a wrapper that tries to emulate the crazy stuff going on in the ceval loop, so there will be a small performance overhead. * Added the __resolved__ property. You can use it to check if the factory has been called. 1.5.2 (2020-11-26) ------------------ * Added Python 3.9 wheels. * Removed Python 2.7 Windows wheels (not supported on newest image with Python 3.9). 1.5.1 (2020-07-22) ------------------ * Added ARM64 wheels (manylinux2014). 1.5.0 (2020-06-05) ------------------ * Added support for __fspath__. * Dropped support for Python 3.4. 1.4.3 (2019-10-26)
Configuration Switches (platform-specific settings discarded)
PY38 ON Build using Python 3.8 PY39 OFF Build using Python 3.9
Package Dependencies by Type
Build (only) python-pip:single:py38
python-setuptools:single:py38
autoselect-python:single:standard
Build and Runtime python-setuptools-scm:single:py38
python38:single:standard
Download groups
main mirror://PYPI/l/lazy-object-proxy
Distribution File Information
489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726 44494 lazy-object-proxy-1.6.0.tar.gz
Ports that require python-lazy-object-proxy:py38
python-astroid:py38 Abstract syntax tree with inference support (PY38)