通用透明代理
项目描述
zope.proxy
代理是特殊对象,充当围绕另一个对象的主要透明包装器,仅在必要时介入包装对象的明显行为以应用代理负责的策略(例如,访问检查、位置代理等)。
zope.proxy通过C扩展模块实现,这使得它可以执行诸如对其自身的__class__撒谎之类的操作,这在纯Python中难以实现(在元类出现之前完全不可能)。它还代理所有内部槽(如__int__/__str__/__add__)。
变更
6.1 (2024-10-02)
尊重设置为0的PURE_PYTHON环境变量。
6.0 (2024-09-17)
声明完全支持Python 3.13。
停止支持Python 3.7。
5.3 (2024-08-07)
在GHA上构建Windows轮子。
修正wrap_hash的返回类型(修复了在i386上的构建)。 (#61)
5.2 (2024-02-09)
自3.13a3版本开始,初步支持Python 3.13。
5.1 (2023-10-05)
支持Python 3.12。
5.0.0 (2023-01-18)
停止支持Python 2.7、3.5、3.6。
移除对于Python 3中不再存在的名称(如__long__等)的代理代码。(#55)
4.6.1 (2022-11-16)
支持在macOS上构建arm64 wheels。
4.6.0 (2022-11-03)
支持Python 3.11。
4.5.1 (2022-09-15)
禁用C代码中的不安全数学优化。参见pull request 53。
4.5.0 (2021-11-17)
支持Python 3.10。
4.4.0 (2021-07-22)
支持Python 3.9。
创建aarch64 wheels。
4.3.5 (2020-03-16)
停止在PyPy上安装C头文件(这是zope.proxy在4.3.4之前所做的事情),修复了问题39。
4.3.4 (2020-03-13)
4.3.3 (2019-11-11)
支持Python 3.8。
停止支持Python 3.4。
4.3.2 (2019-07-12)
修复ProxyBase.__setattr__中的错误处理:由PyString_AsString/PyUnicode_AsUTF8引发的异常会被静默吞没并忽略。参见问题31。
4.3.1 (2018-08-09)
简化__getattribute__和__setattr__中内部C处理属性名称。
使构建C扩展成为可选。我们仍然尝试在支持的平台上构建它,但在缺少编译器或头文件的情况下允许它失败。参见问题26。
在Travis CI上测试PURE_PYTHON环境和PyPy3。
支持Python 3.7。
4.3.0 (2017-09-13)
4.2.1 (2017-04-23)
使纯Python实现的sameProxiedObjects能够处理zope.security代理。参见问题15。
支持Python 3.6。
4.2.0 (2016-05-05)
在removeAllProxies中正确去除zope.security代理。参见问题13。
在tox下测试PURE_PYTHON环境时,避免毒害用户的全局wheel缓存。
停止支持Python 2.6和3.2。
支持Python 3.5。
4.1.6 (2015-06-02)
使ProxyBase的子类正确地委托__module__到包装对象。这修复了PyPy下的某些zope.interface查找。
使ProxyBase的纯Python实现正确报告由内置类型如list实现的zope.interface接口。这修复了PyPy下的某些zope.interface查找。
4.1.5 (2015-05-19)
使C实现正确代理__unicode__。
使C实现使用标准方法代理 int 和 float。
使纯Python实现能够处理像C版本一样的子类中定义的描述符。参见 https://github.com/zopefoundation/zope.proxy/issues/5。
4.1.4 (2014-03-19)
添加对Python 3.4的支持。
将 bootstrap.py 更新到版本2.2。
4.1.3 (2013-03-12)
修复PyPy中接口对象的自省。由于某种原因,PyPy即使在限制性的 __slots__ 声明下也会使属性可用。
添加一系列关于接口查找和适配的测试。
4.1.2 (2013-03-11)
如果存在,使 PyProxyBase.__iter__() 返回 PyProxyBase._wrapped.__iter__ 的结果,否则回退到Python内部。之前的实现始终创建生成器。
在 PyProxyBase.__setattr__() 中,允许在代理本身上设置属性。这是在 zope.security.decorator 模块中作为代理扩展的示例所必需的。
4.1.1 (2012-12-31)
完善了PyPI Trove分类器。
4.1.0 (2012-12-19)
启用在Py3k下编译依赖模块。
除了在Python 2.6下外,用等效的 PyCapsule API替换 PyCObject API的使用。
- 注意:此更改在Python 2.7下是不兼容的ABI。
在Python 2.7下针对4.0.x版本的 zope.proxy 构建的扩展必须重新构建。
4.0.1 (2012-11-21)
添加对Python 3.3的支持。
4.0.0 (2012-06-06)
添加对PyPy的支持。
注意:C扩展在PyPy下未构建。
添加了纯Python的 zope.proxy.ProxyBase 和代理模块API函数的引用/回退实现。
注意:纯Python代理实现了 ProxyBase 的所有常规功能;然而,它并没有像C版本那样排除对包装对象的访问。如果您需要这种信息隐藏(例如,实现安全沙箱),您仍然需要使用C版本。
添加使用 tox 和 jenkins 的持续集成支持。
100%单元测试覆盖率。
添加Sphinx文档:将doctest示例移动到API参考。
添加“setup.py docs”别名(安装 Sphinx 和依赖项)。
添加“setup.py dev”别名(运行 setup.py develop 并安装 nose 和 coverage)。
用等效的 zope.interface.implementer 装饰器替换过时的 zope.interface.implements 使用。
停止支持Python 2.4和2.5。
添加Python 3.2支持。
3.6.1 (2010-07-06)
使测试与Python 2.7兼容。
3.6.0 (2010-04-30)
移除测试额外项和对zope.testing的剩余依赖。
使用stdlib的“doctest”代替“zope.testing.doctestunit”。
3.5.0 (2009/01/31)
为Jython添加启动支持。
使用 zope.container 而不是 zope.app.container。
3.4.2 (2008/07/27)
使C代码与64位架构上的Python 2.5兼容。
3.4.1 (2008/06/24)
错误:更新 setup.py 脚本以符合常用布局。还更新了一些字段。
错误:在 __getslice__() 和 __setslice__() 方法中尊重元组的预煮索引和列表。参见 https://docs.pythonlang.cn/ref/sequence-methods.html。
3.4.0 (2007/07/12)
功能:添加一个支持在代理上声明接口并与其代理事物的接口混合的 decorator 模块。
3.3.0 (2006/12/20)
对应于Zope 3.3.0版本发布时作为Zope 3.3.0版本的一部分提供的 zope.proxy 包的版本。
3.2.0 (2006/01/05)
对应于Zope 3.2.0版本发布时作为Zope 3.2.0版本的一部分提供的 zope.proxy 包的版本。
3.0.0 (2004/11/07)
对应于Zope X3.0.0版本发布时作为Zope X3.0.0版本的一部分提供的 zope.proxy 包的版本。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发版
zope_proxy-6.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9b70bf787fcbd3ecb86ba886d71e5cd857da0d6dbe2fcf2b6c24774f24747e2e |
|
MD5 | 6d6f76315521181046b1e52213b1d847 |
|
BLAKE2b-256 | 5c1cd051c6a2968a189787c7ed8f789201dd7ee0f40e5c1553ea513bdbd21dcf |
zope.proxy-6.1-cp313-cp313-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 17fa348ec0ac9daafb9a0380e067ed1e8fc1ddcaefc31b094e255544319b8609 |
|
MD5 | fce5983d9791f150bd646438a33286f5 |
|
BLAKE2b-256 | cdda2e120d9dfc21c135d749390e6f16c18ced83e803b55412ef23b28c337af1 |
zope.proxy-6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 07c43ae0180ba4dc6fa41cc9e306d5e5c063014fb8d4e8614b49f8f934d42eb9 |
|
MD5 | 65769aabd3a6e6440bc56b70d869a1c6 |
|
BLAKE2b-256 | 1e911f30f4635f7aeb31134bc3118e1fca20c7ddc5d3e125eb269f3801cbf0ff |
zope.proxy-6.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7fd5b73c60cd64e9225d5dd810742e467c8086b7615d29849ac53a98ab059267 |
|
MD5 | b3624cbe24f1b26ff6de555d1e3f18c3 |
|
BLAKE2b-256 | 05b456ba31881edb1858b5c009973ea2362041bd36179a9f6496446c62eeab7d |
zope.proxy-6.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 71d9b46af85bca3ceb1fa60b95591cce50538265b73f0eefb735bd366199ebeb |
|
MD5 | 1a830412977c3f0b2ac22430491c40e6 |
|
BLAKE2b-256 | 45a3cab9b3e54d6bc06711d7779b50e14b0805618445e0c3ee8e82cf6a0ad01c |
zope.proxy-6.1-cp313-cp313-macosx_11_0_arm64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6f7208e4630003bf77abd64f54d0e98767fa146f2930b7bfb4ba12e23bbfb006 |
|
MD5 | 97834304e53124a34b2f6bef9c72f8c0 |
|
BLAKE2b-256 | 3df2ade1536faac8f08fb237d7c53865c3b1f835539ff80e08d955a233f635c6 |
zope.proxy-6.1-cp313-cp313-macosx_10_9_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cda5526ebea4aced070bfa0ce73e7b3a2a2250988a5b12b1593fe510dd3338db |
|
MD5 | a2ac462cd8589e32f04202356d896695 |
|
BLAKE2b-256 | 49623f9cbf9bcb58b5e330fc5b37d42c2a9fbcbfe2feecde7bf58966b08e8f46 |
zope.proxy-6.1-cp312-cp312-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 60497b06f9e249b3c21b09ce1775b3d71a74a37cea44207cd997317a77fc5918 |
|
MD5 | 856754122d23b078718fe896988823b1 |
|
BLAKE2b-256 | 48993ca142e945075e082a17278c3cc47822cc9b8285bbdb0943e5d8c81fdf20 |
zope.proxy-6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 51a6be9875dd4bd3945da4338120baed733610acb961c77f3bdfec9ba1be208e |
|
MD5 | f0b20fb44600a68dfc17391dd13d2e7c |
|
BLAKE2b-256 | e9fede76477112bcf671f21fb39fbbe5613e2207f679cad0c8e79323d62f6797 |
zope.proxy-6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ed87d7c006d635e4f92c94dbb8ad6082b1fe828dfa76ed3c78610bc84cefdeb7 |
|
MD5 | 4613b66a5962edd59e30245ba8d8cf97 |
|
BLAKE2b-256 | 637c0b22b3aca302f7e22a108be20923745d4b2a3b0a149b64cf9e5ac67a53f2 |
哈希值 为 zope.proxy-6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9799b3016982a32dc9f9e4f42e443a52c88b3f601a50d21951d0ef450999b85d |
|
MD5 | 9e0be95d01ac894a2e553ded0f413c6b |
|
BLAKE2b-256 | 7f449cb3b1148736459b610048dc1f4b72d8d8c3b866e920ee1fc0ce81d28187 |
哈希值 为 zope.proxy-6.1-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4ea7b1b14c31d28de0c3dbbb6672e36dea62828866831bd8a9736171b1d82465 |
|
MD5 | 137a249b8822a09698b633061c426068 |
|
BLAKE2b-256 | 8fb72bf9814ff968d77244cf3d84e4f1dda07901a927a01cb13cf61479112e31 |
哈希值 为 zope.proxy-6.1-cp312-cp312-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 205d6addd0a19ac2febc0b0bf5dabc5b9ae7db385a6a84dddaf3237d113ee01f |
|
MD5 | 9b1cb0fd255ae2df00c0487ab1c0877a |
|
BLAKE2b-256 | 62fbde3be3871ce25776f46f73c3c1e3a19cd4d418b0e167c475486f728cc180 |
哈希值 为 zope.proxy-6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 669efe87eabc4e6bf3a625d46191cb156e8c7ff8e44673b70caebfc9f4a28789 |
|
MD5 | 822fc4e82a0000ff1dbcda355b2b01f2 |
|
BLAKE2b-256 | a5e290e6e4234003cb9caf1ac7632f9846fd0a74df928f07c624081bdcea874f |
哈希值 为 zope.proxy-6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f70a1a3f112063dd91624091d28ba6eac66eac941667bca603a0f2fe3c79082d |
|
MD5 | b753c3d231dd14b4d6d278123fa21b41 |
|
BLAKE2b-256 | cff93d59c2aaa8088b132d3352782b5ba6210c0263eed21340fb03e3a90134e7 |
哈希值 为 zope.proxy-6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 440533a95da81182a1ee86f70d23cac318669b1fead47b0159d9418ed33f671b |
|
MD5 | e449a23005ab2b30ae595b85363d2c3c |
|
BLAKE2b-256 | 4dc9826731fafb1eeb82d2185f8486b898401dc018db1c04728eaa0db5a5b001 |
哈希值 为 zope.proxy-6.1-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d775e4ec770dd66cfd5fabbdab02bee72041edd8e79b42e8c5d90400a31bd68b |
|
MD5 | 640c6ec11b90d5475c4cd8f17037d92d |
|
BLAKE2b-256 | b1018e23c58b6efb7a281acf9bf8af1d75737c1bd6aeed5edb41a4f2399484b8 |
哈希值 为 zope.proxy-6.1-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0777f9b4cbaa1ad8b9a2d246e4c0fe190e79d7f20b9d4535692ae03c30285cee |
|
MD5 | b4b612db9d1f18e20ea6c8be3bba56b6 |
|
BLAKE2b-256 | 32aabc7dfaf912f36a5a12dfe3f4d0a1c5c92294e06ce02082c71e7e16fd93fc |
哈希值 为 zope.proxy-6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a48562abc5bf2a1ed535ace22b6c26c4d799375849e2ca21ed3be684360c2008 |
|
MD5 | 3e185bfbfbde097058da84a91bb90b2a |
|
BLAKE2b-256 | 0b705f6eb28c6802e2cab8736360081cc9344582ab54740cceab8421aa7f948e |
哈希值 为 zope.proxy-6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 84988696d78b85f7b6020bb2c97e9dccba7a499a20a73a77bbee231480b18752 |
|
MD5 | 9aca6f6173d65fb6fc319572e30a3fd4 |
|
BLAKE2b-256 | a97c4948d9bcfc1855036a93bab6cdbb6cd0e773db91309dd326558f8697c818 |
哈希值 用于 zope.proxy-6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 702124d2031bdcae0886bc1cba5357a8cf604d64fe1f31006ecd132a73ea4244 |
|
MD5 | 1c374784d7c051c9afa5d7e3897eba34 |
|
BLAKE2b-256 | 267ac9bec7a4ddaf36b85114a77317bf4fef9da3ba899dac87c57435bff66027 |
哈希值 用于 zope.proxy-6.1-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4d193e667b485bd54df9d99ec083103b0ff0575956804d906c52714ee268ee7f |
|
MD5 | 498587e3262a8c3856c363439b5099f4 |
|
BLAKE2b-256 | 4c72c9c2401e3854788ed8958cc046b80edf721a49ac033dee1975512b4c9382 |
哈希值 用于 zope.proxy-6.1-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 95cb6de0b7ba5aa65fd010dd590c2b31e40f0976b0466cb53d7b90483115b83c |
|
MD5 | 7c2c135f5612bb2bcbadabf2a363a0ba |
|
BLAKE2b-256 | 96703008de4dfeb69622adde7eeeae04e68cf2f1974c3c7bf1a0d9b3ab1656af |
哈希值 用于 zope.proxy-6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ae215bce9e8e19b99fe3599690313a803c75d7ab1b19b3dc539f00403c6a0faf |
|
MD5 | c8e1801b80452971ab77f774b6b7aeed |
|
BLAKE2b-256 | 9a86120d2c93e03834658b7c2313e14af5a6a2f0cc5132c72023731acaccc1d5 |
哈希值 用于 zope.proxy-6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d14fdcfc8a1cf7104890db58621e1a943138921e0d9942e7cc805b894992d959 |
|
MD5 | b1b7b828672f6ed7f98c901bbca42450 |
|
BLAKE2b-256 | f7ceb6a4eed8b8c7e06bb99a779a217ab14a5e683cf92d181d917ee89a541bb3 |
哈希值 用于 zope.proxy-6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fdae0ad3626bcaa5373b4a2b5639aadd19155fa54f6fde7a55de0385764ec698 |
|
MD5 | 8f67a273e4b8c2716fa465e8a8633140 |
|
BLAKE2b-256 | 0388f2ca1a8c31b3c6f12e4a1628446d1c868338ec066f7376a4394575748fdb |
哈希值 用于 zope.proxy-6.1-cp39-cp39-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5131b64aa3e1b9e0ab10e2db127ccf8b082a2d6348e467777018de2d3c402ff9 |
|
MD5 | 428f4c1db0b5878b932eb8a1f5236f9e |
|
BLAKE2b-256 | 459c931057098303c1275814115636bbcc58d051215412665d353f905c495db1 |
哈希值 用于 zope.proxy-6.1-cp39-cp39-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b3da50741baea56a1165181eba85e78a35a2142cff1d2402e6073ce93f97b2d9 |
|
MD5 | ca2949f32e248f4cb5166b07ea75d24f |
|
BLAKE2b-256 | 424a19a59581e01f16d32caae846ce29391376c6234948c5deb8c6569ab87164 |
哈希值 用于 zope.proxy-6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cc0ed2f87996c06b97910b7d801fc2ba80c976ef218e59baf8a9da16c64b1c0c |
|
MD5 | c63270a4962baf81067a007e2bb2bc80 |
|
BLAKE2b-256 | 2b9946ce2063145b9921b2a568421827215e9ac57ef20d37f9f7147988962073 |
哈希值 用于 zope.proxy-6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8c7fe29a87cdac956ea246784df4eb7a52b8262d39a7089f9903c2fedf0968dd |
|
MD5 | ef66f3dede2fa0a3ac900e2263f0e9b6 |
|
BLAKE2b-256 | 4a17b1a9291485f5b21890808ae99e8deff9087125a5eee92fd1437eb9898d75 |
哈希值 for zope.proxy-6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 76c218b92d06c8e5bcf52b8f3ce2472509789b618feda47d5e9fd7a08ab8d84e |
|
MD5 | a06445330136b10e954f5ef1cb39f98d |
|
BLAKE2b-256 | 0d59798f72ec085d46e94c55c9c42b651372b9640783240b34c122df8a678962 |
哈希值 for zope.proxy-6.1-cp38-cp38-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 90218acd90c1e67baa2a0635f3fd9e9a519317edefb8587dbb3cbea43a234786 |
|
MD5 | 10b89f1890bc3006e281ac3ae3462c92 |
|
BLAKE2b-256 | e5346b7f6f1d7a1c12ff5affcda7508df0e5319c1b87c4ec2ca787a5321d14e0 |
哈希值 for zope.proxy-6.1-cp38-cp38-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 59f293864db0ef5be0754f6f7428ddc6b3b97da6faa76cff191af4efa8fd05d1 |
|
MD5 | f2428ea6800da8709ea3d0b68a3af013 |
|
BLAKE2b-256 | c1aaf3e8552c3ecb49373e06075f29d531e5c64ae8a83ce85ee19fcfa9140738 |