Skip to main content

Generic Transparent Proxies

Project description

zope.proxy

Latest Version https://travis-ci.org/zopefoundation/zope.proxy.png?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__).

Changes

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zope.proxy-4.2.1.tar.gz (42.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

zope.proxy-4.2.1.win-amd64-py3.4.exe (266.8 kB view details)

Uploaded Source

zope.proxy-4.2.1.win-amd64-py3.3.exe (266.8 kB view details)

Uploaded Source

zope.proxy-4.2.1.win-amd64-py2.7.exe (269.2 kB view details)

Uploaded Source

zope.proxy-4.2.1.win32-py3.4.exe (235.5 kB view details)

Uploaded Source

zope.proxy-4.2.1.win32-py3.3.exe (235.6 kB view details)

Uploaded Source

zope.proxy-4.2.1.win32-py2.7.exe (241.1 kB view details)

Uploaded Source

zope.proxy-4.2.1-py3.4-win-amd64.egg (63.8 kB view details)

Uploaded Egg

zope.proxy-4.2.1-py3.4-win32.egg (63.7 kB view details)

Uploaded Egg

zope.proxy-4.2.1-py3.3-win-amd64.egg (65.2 kB view details)

Uploaded Egg

zope.proxy-4.2.1-py3.3-win32.egg (65.1 kB view details)

Uploaded Egg

zope.proxy-4.2.1-py2.7-win-amd64.egg (61.8 kB view details)

Uploaded Egg

zope.proxy-4.2.1-py2.7-win32.egg (61.2 kB view details)

Uploaded Egg

zope.proxy-4.2.1-cp36-cp36m-manylinux1_x86_64.whl (67.3 kB view details)

Uploaded CPython 3.6m

zope.proxy-4.2.1-cp35-cp35m-manylinux1_x86_64.whl (67.3 kB view details)

Uploaded CPython 3.5m

zope.proxy-4.2.1-cp35-cp35m-macosx_10_12_x86_64.whl (41.5 kB view details)

Uploaded CPython 3.5mmacOS 10.12+ x86-64

zope.proxy-4.2.1-cp34-cp34m-manylinux1_x86_64.whl (67.1 kB view details)

Uploaded CPython 3.4m

File details

Details for the file zope.proxy-4.2.1.tar.gz.

File metadata

  • Download URL: zope.proxy-4.2.1.tar.gz
  • Upload date:
  • Size: 42.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for zope.proxy-4.2.1.tar.gz
Algorithm Hash digest
SHA256 eb8fca1884363954f6113f0fd7e7d070cbcfedab7d302c1446441fb41575e59f
MD5 02581220e209a1e597a2611ab33de672
BLAKE2b-256 c9b1498831b8da64ccca285ad903b1eac621a75a75bda1377057ca8d5edf5e77

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1.win-amd64-py3.4.exe.

File metadata

File hashes

Hashes for zope.proxy-4.2.1.win-amd64-py3.4.exe
Algorithm Hash digest
SHA256 6fd10f1f647aed56d0680b4005bb3fa9d82842746f9b7c0963c1892cf928cee0
MD5 af37516a387469fa5518b5b0d608451a
BLAKE2b-256 aa5bcda4ff3498e0eb530639295bb1f6c3ce3595040197fd72988b779b95c8ea

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1.win-amd64-py3.3.exe.

File metadata

File hashes

Hashes for zope.proxy-4.2.1.win-amd64-py3.3.exe
Algorithm Hash digest
SHA256 88d57cbc2874bc58200ce5adb4239e41fc8d6cd9a94024a1e04256fc4461e5a2
MD5 d3189df5230dad33b6b1db349e8ab319
BLAKE2b-256 97979208e46619e4813ecf813cf2e9619e349aa4e4ecb5129263855b23689dd5

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1.win-amd64-py2.7.exe.

File metadata

File hashes

Hashes for zope.proxy-4.2.1.win-amd64-py2.7.exe
Algorithm Hash digest
SHA256 bc93c5e83151fea1d462fbbc8fd0798d3914f9eab2a1aa5510955ed826c1bc98
MD5 2c6ea7e269dd2a1b02581f12961bca8e
BLAKE2b-256 bedef4cdbcde10bc16afc02e9ed466aff4a7758892b959f22aad41e6e4a1a88c

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1.win32-py3.4.exe.

File metadata

File hashes

Hashes for zope.proxy-4.2.1.win32-py3.4.exe
Algorithm Hash digest
SHA256 fd763e0af5b6cbe6ee286663a35c8e6fb0e958dbf0754ee708047478602dcee7
MD5 4e66696ad87d331e24e875938e92f141
BLAKE2b-256 a52a7771003343c2067b9739a87f2ed9a04945a038c8bb02b9962c0f5397b7db

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1.win32-py3.3.exe.

File metadata

File hashes

Hashes for zope.proxy-4.2.1.win32-py3.3.exe
Algorithm Hash digest
SHA256 a66b88fb442a244618f8b502aff72a7a6cf64bf7c7e9496a53f433945be86911
MD5 093647d14259ef8f27ed69c21ea1c6df
BLAKE2b-256 6c7a19f3de31cc8457dfe3aa7a20f06c89e5ffd1b63627520194d3551ff59503

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1.win32-py2.7.exe.

File metadata

File hashes

Hashes for zope.proxy-4.2.1.win32-py2.7.exe
Algorithm Hash digest
SHA256 7e3389500c5615730c380d9a38d9721d2cab419b10ed25af9601e5910899a422
MD5 8afb77b3ef4e6bd1327def21f111e1f0
BLAKE2b-256 5ff3c8283052a4b45e539def282d5585e86167eddfcaa026cb2490d339162d04

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1-py3.4-win-amd64.egg.

File metadata

File hashes

Hashes for zope.proxy-4.2.1-py3.4-win-amd64.egg
Algorithm Hash digest
SHA256 72b2a6825f4685ebe33285090d2d6f3b590896425ab5004d78777793524a565b
MD5 6dd1fd115d64bd9a55039ed128ef7abe
BLAKE2b-256 4401a85a1717bcd90ad81f6f31de15a4347b15069775370c5f0b9b93de21a65e

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1-py3.4-win32.egg.

File metadata

File hashes

Hashes for zope.proxy-4.2.1-py3.4-win32.egg
Algorithm Hash digest
SHA256 82be61745043dff0d60b85eadb9105bc0be4c4360cd4dc920ffa95f3eb03429d
MD5 e37d8d26738fe33c542eb5184e4f50f9
BLAKE2b-256 e250221d7ecf2270c194312314410d1c32adf5e946210fe7c14de5ee6c387ccd

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1-py3.3-win-amd64.egg.

File metadata

File hashes

Hashes for zope.proxy-4.2.1-py3.3-win-amd64.egg
Algorithm Hash digest
SHA256 8938f506bfd5c6c3326a3352708f6cf89f411bea13ef7d61eb78687513f6d9de
MD5 922f6194d3d8eec62f396d11286e856c
BLAKE2b-256 0081edd57274fe6d74cfb940d15c59bfdf060465172b1699f7bc5ecde1073702

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1-py3.3-win32.egg.

File metadata

File hashes

Hashes for zope.proxy-4.2.1-py3.3-win32.egg
Algorithm Hash digest
SHA256 3411f000625240c4879143c124ffc2e476cbbf6e563b770a6f5aec665e430ff1
MD5 29ccf3680bbe3f3876be46350d442444
BLAKE2b-256 3c23a9dcbb65ed241391eb34f436d585c9613e0197546c4bfea1e84c69e28854

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1-py2.7-win-amd64.egg.

File metadata

File hashes

Hashes for zope.proxy-4.2.1-py2.7-win-amd64.egg
Algorithm Hash digest
SHA256 435a63367309489f2c4ea83ac1496394819bfadc6a9dc97530610be7db748088
MD5 b9e7a0c84bdef05a5bf5cce20caf3049
BLAKE2b-256 dab4de9fd85833be2c555d91741853dd4e8a7a8a99540fdaf735e6e6f8a3a9d8

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1-py2.7-win32.egg.

File metadata

File hashes

Hashes for zope.proxy-4.2.1-py2.7-win32.egg
Algorithm Hash digest
SHA256 7735e72c53199e837264d0aa73be760e179608f305077734eaf689dfdc66dade
MD5 881a4a551b910af8568c71ae1da9faf1
BLAKE2b-256 219fafa51b12519eb916f995824acd581d295a8086ff01876f967db5c475c212

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for zope.proxy-4.2.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 91547a50035f25fab21753a471929ba79d40fb9181b7f80545b53f5893c281f5
MD5 c27596b41f961a68db28bcf1f6610860
BLAKE2b-256 7dc84d787e9a8e6017347317c3694b34da5a592f47a1c0c2fd74db87cfd4f58e

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for zope.proxy-4.2.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e7840cdf84bdb62e9e02da86972daa9b13627bd0dfbee1f3b0c9c493d902ac73
MD5 6d41755e481cd28936e3b0175d4a80b0
BLAKE2b-256 54c1a3c7bb1d8c301dad2662b2f7ffa84e999d439aa5b557cc61d5f0cfce4d9e

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1-cp35-cp35m-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for zope.proxy-4.2.1-cp35-cp35m-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1e6fa244a4451246c6866a15a0a7728ba510b82a417686beeda97ceb0cd9a706
MD5 646704f086613c8f2abbaf55e2eb8f77
BLAKE2b-256 d00fd605ed30495ddc4cef3453dc8b70cc73d5f17914ff37a4b10e3f9203b841

See more details on using hashes here.

File details

Details for the file zope.proxy-4.2.1-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for zope.proxy-4.2.1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3490a4b0773689144aa5d5e52c2278736763909047b4b4f48576ed0030b1aaea
MD5 285c10583d139f87c73cb4c97a7b4765
BLAKE2b-256 9761d8b1c67f0863a2e7825e3bf177ffb3fe2102236f1d3014807ca46281fac2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page