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.0 (2016-05-05)

  • Correctly strip zope.security proxies in removeAllProxies.

  • 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.0.tar.gz (258.5 kB view hashes)

Uploaded Source

Built Distributions

zope.proxy-4.2.0.win-amd64-py3.4.exe (266.2 kB view hashes)

Uploaded Source

zope.proxy-4.2.0.win-amd64-py3.3.exe (266.2 kB view hashes)

Uploaded Source

zope.proxy-4.2.0.win-amd64-py3.2.exe (268.6 kB view hashes)

Uploaded Source

zope.proxy-4.2.0.win-amd64-py2.7.exe (268.9 kB view hashes)

Uploaded Source

zope.proxy-4.2.0.win-amd64-py2.6.exe (268.9 kB view hashes)

Uploaded Source

zope.proxy-4.2.0.win32-py3.4.exe (234.9 kB view hashes)

Uploaded Source

zope.proxy-4.2.0.win32-py3.3.exe (234.9 kB view hashes)

Uploaded Source

zope.proxy-4.2.0.win32-py3.2.exe (240.1 kB view hashes)

Uploaded Source

zope.proxy-4.2.0.win32-py2.7.exe (240.8 kB view hashes)

Uploaded Source

zope.proxy-4.2.0.win32-py2.6.exe (240.8 kB view hashes)

Uploaded Source

zope.proxy-4.2.0-py3.4-win-amd64.egg (63.1 kB view hashes)

Uploaded Source

zope.proxy-4.2.0-py3.4-win32.egg (63.0 kB view hashes)

Uploaded Source

zope.proxy-4.2.0-py3.3-win-amd64.egg (64.6 kB view hashes)

Uploaded Source

zope.proxy-4.2.0-py3.3-win32.egg (64.5 kB view hashes)

Uploaded Source

zope.proxy-4.2.0-py3.2-win-amd64.egg (61.5 kB view hashes)

Uploaded Source

zope.proxy-4.2.0-py3.2-win32.egg (61.0 kB view hashes)

Uploaded Source

zope.proxy-4.2.0-py2.7-win-amd64.egg (61.4 kB view hashes)

Uploaded Source

zope.proxy-4.2.0-py2.7-win32.egg (60.9 kB view hashes)

Uploaded Source

zope.proxy-4.2.0-py2.6-win-amd64.egg (61.5 kB view hashes)

Uploaded Source

zope.proxy-4.2.0-py2.6-win32.egg (61.0 kB view hashes)

Uploaded Source

Supported by

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