Ravenports generated: 20 Jul 2023 04:18
[ravenports.git] / bucket_3E / python-lazy-object-proxy
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               python-lazy-object-proxy
4 VERSION=                1.9.0
5 KEYWORDS=               python
6 VARIANTS=               py310 v11
7 SDESC[py310]=           Fast and thorough lazy object proxy (3.10)
8 SDESC[v11]=             Fast and thorough lazy object proxy (3.11)
9 HOMEPAGE=               https://github.com/ionelmc/python-lazy-object-proxy
10 CONTACT=                Python_Automaton[python@ironwolf.systems]
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            PYPI/l/lazy-object-proxy
14 DISTFILE[1]=            lazy-object-proxy-1.9.0.tar.gz:main
15 DF_INDEX=               1
16 SPKGS[py310]=           single
17 SPKGS[v11]=             single
18
19 OPTIONS_AVAILABLE=      PY310 PY311
20 OPTIONS_STANDARD=       none
21 VOPTS[py310]=           PY310=ON PY311=OFF
22 VOPTS[v11]=             PY310=OFF PY311=ON
23
24 BUILD_DEPENDS=          python-pip:single:python_used
25
26 DISTNAME=               lazy-object-proxy-1.9.0
27
28 GENERATED=              yes
29
30 [PY310].BUILDRUN_DEPENDS_ON=            python-setuptools-scm:single:py310
31 [PY310].USES_ON=                        python:py310,sutools
32
33 [PY311].BUILDRUN_DEPENDS_ON=            python-setuptools-scm:single:v11
34 [PY311].USES_ON=                        python:v11,sutools
35
36 [FILE:2585:descriptions/desc.single]
37 ========
38 Overview
39 ========
40
41 A fast and thorough lazy object proxy.
42
43 * Free software: BSD 2-Clause License
44
45 Note that this is based on `wrapt`_'s ObjectProxy with one big change: it
46 calls a function the first time the proxy object is
47 used, while `wrapt.ObjectProxy` just forwards the method calls to the
48 target object.
49
50 In other words, you use `lazy-object-proxy` when you only have the object
51 way later and you use `wrapt.ObjectProxy` when you
52 want to override few methods (by subclassing) and forward everything else
53 to the target object.
54
55 Example::
56
57     import lazy_object_proxy
58
59     def expensive_func():
60         from time import sleep
61         print('starting calculation')
62         # just as example for a very slow computation
63         sleep(2)
64         print('finished calculation')
65         # return the result of the calculation
66         return 10
67
68     obj = lazy_object_proxy.Proxy(expensive_func)
69     # function is called only when object is actually used
70     print(obj)  # now expensive_func is called
71
72     print(obj)  # the result without calling the expensive_func
73
74 Installation
75 ============
76
77 ::
78
79     pip install lazy-object-proxy
80
81 Documentation
82 =============
83
84 https://python-lazy-object-proxy.readthedocs.io/
85
86 Development
87 ===========
88
89 To run all the tests run::
90
91     tox
92
93 Acknowledgements
94 ================
95
96 This project is based on some code from `wrapt`_ as you can see in the git
97 history.
98
99 .. _wrapt: https://github.com/GrahamDumpleton/wrapt
100
101 Changelog
102 =========
103
104 1.9.0 (2023-01-04)
105 ------------------
106
107 * Added support for matrix multiplication operator (``@``).
108 * Should have all the wheels now (including the manylinux ones).
109 * Bumped minimum version requirements for setuptools and setuptools-scm.
110 * Switched the default pure python fallback implementation to the "simple"
111 one (when you from lazy_object_proxy import Proxy
112   and the C extension is not available).
113   Previously the "slots" implementation was used but as it turns out it is
114 slower on Python 3.
115
116 1.8.0 (2022-10-26)
117 ------------------
118
119 * Cleaned up use of cPickle. Contributed by Sandro Tosi in `#62
120 <https://github.com/ionelmc/python-lazy-object-proxy/pull/62>`_.
121 * Cleaned up more dead Python 2 code.
122 * Added Python 3.11 wheels.
123 * Dropped support for Python 3.6.
124
125 1.7.1 (2021-12-15)
126 ------------------
127
128 * Removed most of the Python 2 support code and fixed python_requires to
129 require at least Python 3.6.
130
131   Note that 1.7.0 has been yanked because it could not install on Python
132 2.7.
133   Installing lazy-object-proxy on Python 2.7 should automatically fall back
134 to the 1.6.0 release now.
135
136 1.7.0 (2021-12-15)
137
138
139 [FILE:109:distinfo]
140 659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae        42830 lazy-object-proxy-1.9.0.tar.gz
141