Skip to main content

zope.proxy

Latest Version https://travis-ci.org/zopefoundation/zope.proxy.svg?branch=master Documentation Status

Proxies 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 at https://zopeproxy.readthedocs.io

Changes

4.3.2 (2019-07-12)

  • Fix error handling in ProxyBase.__setattr__: any the exception raised by PyString_AsString/PyUnicode_AsUTF8 would be silently swallowed up and ignored. See issue 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. See issue 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. See issue 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. See issue 21.

4.2.1 (2017-04-23)

  • Make the pure-Python implementation of sameProxiedObjects handle zope.security proxies. See issue 15.

  • Add support for Python 3.6.

4.2.0 (2016-05-05)

  • Correctly strip zope.security proxies in removeAllProxies. See issue 13.

  • Avoid poisoning the user’s global wheel cache when testing PURE_PYTHON environments under tox,

  • 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 some zope.interface lookups under PyPy.

  • Make the pure-Python implementation of ProxyBase properly report the zope.interface interfaces implemented by builtin types like list. This fixes some zope.interface lookups under PyPy.

4.1.5 (2015-05-19)

  • Make the C implementation proxy __unicode__ correctly.

  • Make the C implementation use the standard methods to proxy int and float.

  • Make the pure Python implementation handle descriptors defined in subclasses like the C version. See https://github.com/zopefoundation/zope.proxy/issues/5.

4.1.4 (2014-03-19)

  • Add support for Python 3.4.

  • Update bootstrap.py to 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)

  • Make PyProxyBase.__iter__() return the result of PyProxyBase._wrapped.__iter__ if available, otherwise falling back to Python internals. The previous implementation always created a generator.

  • In PyProxyBase.__setattr__(), allow setting of properties on the proxy itself. This is needed to properly allow proxy extensions as was evidenced int he zope.security.decorator module.

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 of PyCObject APIs with equivalent PyCapsule APIs, 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 of zope.proxy must 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 is not built under PyPy.

  • Add a pure-Python reference / fallback implementations of zope.proxy.ProxyBase and the proxy module API functions.

    N.B.: the pure-Python proxy implements all regular features of ProxyBase; 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 using tox and jenkins.

  • 100% unit test coverage.

  • Add Sphinx documentation: moved doctest examples to API reference.

  • Add ‘setup.py docs’ alias (installs Sphinx and dependencies).

  • Add ‘setup.py dev’ alias (runs setup.py develop plus installs nose and coverage).

  • Replace deprecated zope.interface.implements usage with equivalent zope.interface.implementer decorator.

  • 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.

  • Use zope.container instead of zope.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: Update setup.py script 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. See http://docs.python.org/ref/sequence-methods.html.

3.4.0 (2007/07/12)

  • Feature: Add a decorator module 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 the zope.proxy package shipped as part of the Zope 3.3.0 release.

3.2.0 (2006/01/05)

  • Corresponds to the verison of the zope.proxy package shipped as part of the Zope 3.2.0 release.

3.0.0 (2004/11/07)

  • Corresponds to the verison of the zope.proxy package shipped as part of the Zope X3.0.0 release.

Metadata

Release files for zope.proxy 4.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zope.proxy 4.3.2
File Size Uploaded
zope.proxy-4.3.2.tar.gz 43.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for zope.proxy 4.3.2
File
zope.proxy-4.3.2-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
zope.proxy-4.3.2-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details
zope.proxy-4.3.2-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
zope.proxy-4.3.2-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details
zope.proxy-4.3.2-cp35-cp35m-win_amd64.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-64 Details
zope.proxy-4.3.2-cp35-cp35m-win32.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-32 Details
zope.proxy-4.3.2-cp34-cp34m-win_amd64.whl CPython 3.4 CPython 3.4 pymalloc Windows x86-64 Details
zope.proxy-4.3.2-cp34-cp34m-win32.whl CPython 3.4 CPython 3.4 pymalloc Windows x86-32 Details
zope.proxy-4.3.2-cp27-cp27m-win_amd64.whl CPython 2.7 CPython 2.7 pymalloc Windows x86-64 Details
zope.proxy-4.3.2-cp27-cp27m-win32.whl CPython 2.7 CPython 2.7 pymalloc Windows x86-32 Details

Total release size: 444.7 kB

Release files / zope.proxy-4.3.2.tar.gz

Download URL zope.proxy-4.3.2.tar.gz
Size 43.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ab6d6975d9c51c13cac828ff03168de21fb562b0664c59bcdc4a4b10f39a5b17
BLAKE2b-256 checksum
How to use checksums
a37bada37e2c9ba5ba6b23ef8b0f090fd08fabd06e15450c41dca4799349a2dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

Release files / zope.proxy-4.3.2-cp37-cp37m-win_amd64.whl

Download URL zope.proxy-4.3.2-cp37-cp37m-win_amd64.whl
Size 41.4 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
b8fd3a3de3f7b6452775e92af22af5977b17b69ac86a38a3ddfe870e40a0d05f
BLAKE2b-256 checksum
How to use checksums
e4900b68f90fa6d20edd469f7e416c793a39abdbeda82a0a54c80eff6e10c8c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

Release files / zope.proxy-4.3.2-cp37-cp37m-win32.whl

Download URL zope.proxy-4.3.2-cp37-cp37m-win32.whl
Size 40.3 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
8a32eb9c94908f3544da2dae3f4a9e6961d78819b88ac6b6f4a51cee2d65f4a0
BLAKE2b-256 checksum
How to use checksums
f47b160c0af48211dd953efdea2068bfd17c94f71208894ba671fea783f1d223
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

Release files / zope.proxy-4.3.2-cp36-cp36m-win_amd64.whl

Download URL zope.proxy-4.3.2-cp36-cp36m-win_amd64.whl
Size 41.3 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
af10cb772391772463f65a58348e2de5ecc06693c16d2078be276dc068bcbb54
BLAKE2b-256 checksum
How to use checksums
93d9c1e526fc44557376400bc1ef252b1ca2fb7427abb459e75b4defda25cf95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

Release files / zope.proxy-4.3.2-cp36-cp36m-win32.whl

Download URL zope.proxy-4.3.2-cp36-cp36m-win32.whl
Size 40.3 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
320a7619992e42142549ebf61e14ce27683b4d14b0cbc45f7c037ba64edb560c
BLAKE2b-256 checksum
How to use checksums
33ed38ed3d8f82c286df186a33a0093db763b69c689905972171fcff585c6697
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

Release files / zope.proxy-4.3.2-cp35-cp35m-win_amd64.whl

Download URL zope.proxy-4.3.2-cp35-cp35m-win_amd64.whl
Size 41.3 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
c39fa6a159affeae5fe31b49d9f5b12bd674fe77271a9a324408b271440c50a7
BLAKE2b-256 checksum
How to use checksums
9b8aca4b61c0c717b8b89e4676dd0587407f68a1da27d8701acf698c1b249603
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.5.4

Release files / zope.proxy-4.3.2-cp35-cp35m-win32.whl

Download URL zope.proxy-4.3.2-cp35-cp35m-win32.whl
Size 40.3 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
e946a036ac5b9f897e986ac9dc950a34cffc857d88eae6727b8434fbc4752366
BLAKE2b-256 checksum
How to use checksums
c53dce326028462910c2e3bef2313da19f11c9b38ca163424846594afb1e2f10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.5.4

Release files / zope.proxy-4.3.2-cp34-cp34m-win_amd64.whl

Download URL zope.proxy-4.3.2-cp34-cp34m-win_amd64.whl
Size 38.7 kB
Tags CPython 3.4 CPython 3.4 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
824d4dbabbb7deb84f25fdb96ea1eeca436a1802c3c8d323b3eb4ac9d527d41c
BLAKE2b-256 checksum
How to use checksums
4ba1964a397361d0ed55d232556e4cad8447498b611f3a2fd953953e4a5966f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/18.2 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.4.4

Release files / zope.proxy-4.3.2-cp34-cp34m-win32.whl

Download URL zope.proxy-4.3.2-cp34-cp34m-win32.whl
Size 38.7 kB
Tags CPython 3.4 CPython 3.4 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
bc29b3665eac34f14c4aef5224bef045efcfb1a7d12d78c8685858de5fbf21c0
BLAKE2b-256 checksum
How to use checksums
caa02f95ecdb1c362ec240304f5858429363ff064d33c8277bcfa5db58b32ddc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/18.2 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.4.4

Release files / zope.proxy-4.3.2-cp27-cp27m-win_amd64.whl

Download URL zope.proxy-4.3.2-cp27-cp27m-win_amd64.whl
Size 39.7 kB
Tags CPython 2.7 CPython 2.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
bb7088f1bed3b8214284a5e425dc23da56f2f28e8815b7580bfed9e245b6c0b6
BLAKE2b-256 checksum
How to use checksums
38c26a69a131be65add85e026f46796f30fabf20f0ebcaea6c03ec8a341c736f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.16

Release files / zope.proxy-4.3.2-cp27-cp27m-win32.whl

Download URL zope.proxy-4.3.2-cp27-cp27m-win32.whl
Size 39.2 kB
Tags CPython 2.7 CPython 2.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
96265fd3bc3ea646f98482e16307a69de21402eeaaaaf4b841c1161ac2f71bb0
BLAKE2b-256 checksum
How to use checksums
5767d5596394717d2aadc362c84a727971c00ced8d37163d5545f6bafaa4b3ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.16

Release history Release notifications | RSS feed

7.3

35 release files

7.2

35 release files

7.1

31 release files

7.0

31 release files

6.1

37 release files

6.0

37 release files

5.3

36 release files

5.2

36 release files

5.1

32 release files

5.0.0

30 release files

4.6.1

36 release files

4.5.1

38 release files

4.5.0

36 release files

4.4.0

30 release files

4.3.5

40 release files

4.3.4

40 release files

4.3.3

39 release files

This release

4.3.2 This release

11 release files

4.3.0

12 release files

4.2.1

17 release files

4.1.5

21 release files

4.1.4

21 release files

4.1.3

17 release files

4.1.2

17 release files

4.1.1

17 release files

4.1.0

17 release files

4.0.1

17 release files

3.6.0

7 release files

3.5.0

7 release files

3.4.2

7 release files

3.4.1

7 release files

3.4.0

8 release files

3.3.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page