Package: zope.proxy
zope.proxyProxies are special objects which serve as mostly-transparent
wrappers around another object, intervening in the apparent behavior of
the wrapped object only when necessary to apply the policy (e.g., access
checking, location brokering, etc.) for which the proxy is responsible.zope.proxy is implemented via a C extension module, which lets it do things
like lie about its own__class__that are difficult in pure Python (and
were completely impossible before metaclasses).  It also proxies all the
internal slots (such as__int__/__str__/__add__).Complete documentation is athttps://zopeproxy.readthedocs.ioChanges5.2 (2024-02-09)Add preliminary support for Python 3.13 as of 3.13a3.5.1 (2023-10-05)Add support for Python 3.12.5.0.0 (2023-01-18)Drop support for Python 2.7, 3.5, 3.6.Remove proxying code for names that no longer exist in Python 3
like__long__and some others.
(#55)4.6.1 (2022-11-16)Add support for building arm64 wheels on macOS.4.6.0 (2022-11-03)Add support for Python 3.11.4.5.1 (2022-09-15)Disable unsafe math optimizations in C code.  Seepull request 53.4.5.0 (2021-11-17)Add support for Python 3.10.4.4.0 (2021-07-22)Add support for Python 3.9.Create aarch64 wheels.4.3.5 (2020-03-16)Stop installing C header files on PyPy (which is what zope.proxy before 4.3.4
used to do), fixesissue 39.4.3.4 (2020-03-13)Fix a compilation warning on Python 3.8. The slottp_printchanged totp_vectorcall_offsetin 3.8 and must not be set.
Prior to 3.8, it was reserved and ignored in all Python 3 versions.
Seeissue 36.Remove deprecated use of setuptools features.  Seeissue 38.4.3.3 (2019-11-11)Add support for Python 3.8.Drop support for Python 3.4.4.3.2 (2019-07-12)Fix error handling inProxyBase.__setattr__: any the exception raised byPyString_AsString/PyUnicode_AsUTF8would be silently swallowed up
and ignored.  Seeissue 31.4.3.1 (2018-08-09)Simplify the internal C handling of attribute names in__getattribute__and__setattr__.Make building the C extension optional. We still attempt to build it
on supported platforms, but we allow it to fail in case of a missing
compiler or headers. Seeissue 26.Test the PURE_PYTHON environment and PyPy3 on Travis CI.Add support for Python 3.7.4.3.0 (2017-09-13)Fix a potential rare crash when deallocating proxies. Seeissue 20.Drop support for Python 3.3.Drop support for “python setup.py test”.100% test coverage.Fix indexing pure-Python proxies with slices under Python 3, and
restore the use of__getslice__(if implemented by the target’s
type) under Python 2. Previously, pure-Python proxies would fail
with an AttributeError when given a slice on Python 3, and on Python
2, a custom__getslice__was ignored. Seeissue 21.4.2.1 (2017-04-23)Make the pure-Python implementation ofsameProxiedObjectshandlezope.securityproxies. Seeissue 15.Add support for Python 3.6.4.2.0 (2016-05-05)Correctly stripzope.securityproxies inremoveAllProxies.
Seeissue 13.Avoid poisoning the user’s global wheel cache when testingPURE_PYTHONenvironments undertox,Drop support for Python 2.6 and 3.2.Add support for Python 3.5.4.1.6 (2015-06-02)Make subclasses of ProxyBase properly delegate__module__to the
wrapped object. This fixes somezope.interfacelookups under
PyPy.Make the pure-Python implementation of ProxyBase properly report thezope.interfaceinterfaces implemented by builtin types likelist. This fixes somezope.interfacelookups under PyPy.4.1.5 (2015-05-19)Make the C implementation proxy__unicode__correctly.Make the C implementation use the standard methods to proxyintandfloat.Make the pure Python implementation handle descriptors defined in
subclasses like the C version. Seehttps://github.com/zopefoundation/zope.proxy/issues/5.4.1.4 (2014-03-19)Add support for Python 3.4.Updatebootstrap.pyto version 2.2.4.1.3 (2013-03-12)Fix interface object introspection in PyPy. For some reason PyPy makes
attributes available despite the restrictive__slots__declaration.Add a bunch of tests surrounding interface lookup and adaptation.4.1.2 (2013-03-11)MakePyProxyBase.__iter__()return the result ofPyProxyBase._wrapped.__iter__if available, otherwise falling back to
Python internals. The previous implementation always created a generator.InPyProxyBase.__setattr__(), allow setting of properties on the
proxy itself. This is needed to properly allow proxy extensions as was
evidenced int hezope.security.decoratormodule.4.1.1 (2012-12-31)Fleshed out PyPI Trove classifiers.4.1.0 (2012-12-19)Enable compilation of dependent modules under Py3k.Replace use ofPyCObjectAPIs with equivalentPyCapsuleAPIs,
except under Python 2.6.N.B.  This change is an ABI incompatibility under Python 2.7:extensions built under Python 2.7 against 4.0.x versions ofzope.proxymust be rebuilt.4.0.1 (2012-11-21)Add support for Python 3.3.4.0.0 (2012-06-06)Add support for PyPy.N.B.:  the C extension isnotbuilt under PyPy.Add a pure-Python reference / fallback implementations ofzope.proxy.ProxyBaseand the proxy module API functions.N.B.:  the pure-Python proxy implements all regular features ofProxyBase;  however, it does not exclude access to the wrapped object
in the same way that the C version does.  If you need that information
hiding (e.g., to implement security sandboxing), you still need to use
the C version.Add support for continuous integration usingtoxandjenkins.100% unit test coverage.Add Sphinx documentation:  moved doctest examples to API reference.Add ‘setup.py docs’ alias (installsSphinxand dependencies).Add ‘setup.py dev’ alias (runssetup.py developplus installsnoseandcoverage).Replace deprecatedzope.interface.implementsusage with equivalentzope.interface.implementerdecorator.Drop support for Python 2.4 and 2.5.Add Python 3.2 support.3.6.1 (2010-07-06)Make tests compatible with Python 2.7.3.6.0 (2010-04-30)Remove test extra and the remaining dependency on zope.testing.Remove use of ‘zope.testing.doctestunit’ in favor of stdlib’s ‘doctest.3.5.0 (2009/01/31)Add support to bootstrap on Jython.Usezope.containerinstead ofzope.app.container.3.4.2 (2008/07/27)Make C code compatible with Python 2.5 on 64bit architectures.3.4.1 (2008/06/24)Bug: Updatesetup.pyscript to conform to common layout. Also updated
some of the fields.Bug: Honor pre-cooked indices for tuples and lists in the__getslice__()and__setslice__()methods. Seehttp://docs.python.org/ref/sequence-methods.html.3.4.0 (2007/07/12)Feature: Add adecoratormodule that supports declaring interfaces on
proxies that get blended with the interfaces of the things they proxy.3.3.0 (2006/12/20)Corresponds to the verison of thezope.proxypackage shipped as part of
the Zope 3.3.0 release.3.2.0 (2006/01/05)Corresponds to the verison of thezope.proxypackage shipped as part of
the Zope 3.2.0 release.3.0.0 (2004/11/07)Corresponds to the verison of thezope.proxypackage shipped as part of
the Zope X3.0.0 release.