跳转到主要内容

Zope 容器

项目描述

zope.container

https://github.com/zopefoundation/zope.container/actions/workflows/tests.yml/badge.svg https://coveralls.io/repos/github/zopefoundation/zope.container/badge.svg?branch=master Documentation Status Latest release Supported Python versions

此包定义容器组件的接口,并提供如BTreeContainer和OrderedContainer等容器实现,以及zope.site.folder用于Folder实现的基类。

文档托管在https://zopecontainer.readthedocs.io

变更

6.1 (2024-09-18)

  • 添加对Python 3.13的最终支持。

  • 更新到 6.0 API使用

6.0 (2024-05-29)

  • 放弃对Python 3.7的支持。

  • 在GHA上构建Windows轮子。

  • 从3.13a6开始添加对Python 3.13的初步支持。

5.2 (2023-10-05)

  • 添加对Python 3.12的支持。

5.1 (2023-04-24)

  • 由于GHA上的持续问题,取消使用

  • 从Python 3.12a7开始添加对Python 3.12的初步支持。

5.0 (2023-01-24)

  • 为Python 3.11构建Linux二进制轮子。

  • 放弃对Python 2.7、3.5和3.6的支持。

4.10 (2022-11-17)

  • 发布以重建完整的二进制轮子集。

4.9 (2022-11-16)

  • 在macOS上添加构建arm64轮子的支持。

4.8 (2022-11-06)

  • 添加对最终Python 3.11发布的支持。

4.7 (2022-09-15)

  • 禁用C代码中的不安全数学优化。请参阅拉取请求46

4.6 (2022-07-14)

  • 添加对Python 3.11(截至3.11.0b3)的支持。

4.5.0 (2021-11-19)

  • 添加对Python 3.9和3.10的支持。

4.4.0 (2020-04-02)

  • 在运行时支持PURE_PYTHON环境变量,而不仅仅是轮子构建时。值为0将强制使用C扩展,如果它们不存在则失败。任何其他值将强制使用Python实现,忽略C扩展。

  • 删除对已弃用的python setup.py test命令的支持。

  • 确保所有对象都有一致的接口解析顺序。这可能会略微改变ContainedProxy对象的接口顺序。请参阅问题34

  • 停止包含过时的zope.proxy(实现)和persistent头。相反,定位并使用已安装的版本。请参阅问题32

4.3.0 (2019-11-11)

  • 添加对Python 3.8的支持。

  • 删除对Python 3.4的支持。

4.2.2 (2018-08-10)

  • 添加对先前在3.11中删除的zope.cachedescriptors的依赖。请参阅问题16

  • 修复C扩展在释放项时出现罕见崩溃的可能性。请参阅问题24

  • 添加对Python 3.7的支持。

4.2.1 (2017-08-02)

  • 使OrderedContainer.updateOrder以与__setitem__相同的方式标准化和存储文本键。修复问题21

4.2.0 (2017-07-31)

  • 添加对Python 3.5和3.6的支持。

  • 删除对Python 2.6和3.3的支持。

  • 使OrderedContainer正确存储解码的文本键以保持顺序,而不是存储原始字节数据。还使其能够在Python 3中首先接受原始字节数据。修复问题17

  • 修复当事件订阅者在添加项时抛出异常时,OrderedContainer变得不一致的问题。请参阅问题18

  • 达到100%的测试覆盖率。请参阅问题15

  • 使默认的NameChooser始终使用ASCII解码字节,而不是当前系统编解码器。

  • 使默认的NameChooser在可能调用用户定义代码将名称转换为文本字符串时停止捕获KeyboardInterrupt和其他BaseException类型。相反,只捕获Exception

  • 除了构建时间外,在运行时也尊重PURE_PYTHON环境变量。这使得在CPython上使用纯Python容器代理的实现变得更加容易调试。请参阅问题13

4.1.0 (2015-05-22)

  • 使zope.container._proxy.PyContainedProxyBase直接从zope.proxy.AbstractProxyBase以及persistent.Persistent继承,从而删除大量冗余代码,并修复与纯Python持久性交互中的错误。请参阅:问题4

  • 由于我们从中导入,因此添加了对zope.proxypersistent的直接依赖;将其固定在纯Python所需的版本上。

  • 删除了已弃用的BBB导入模块,zope.container.dependency

4.0.0 (2014-03-19)

  • 添加了对Python 3.4的支持。

  • 添加了对PyPy的支持。

4.0.0a3 (2013-02-28)

  • 在使它继承自BTreeContainer之后,恢复Folder与版本3.12.0的pickle前后兼容性。

4.0.0a2 (2013-02-21)

  • 允许在不检出未发布的zope.publisherZODB的情况下进行测试。

  • 添加Python 3 Trove分类器。

4.0.0a1 (2013-02-20)

  • 添加了对Python 3.3的支持。

  • 使Folder类继承自BTreeContainer类,这样就不需要重新实现IContainer接口。为BBB添加了一个data属性。

  • 用等效的zope.component.adapter装饰器替换了已弃用的zope.component.adapts的使用。

  • 用等效的zope.interface.implementer装饰器替换了已弃用的zope.interface.implements的使用。

  • 删除了对Python 2.4和2.5的支持。

  • 在容器修改后发送IContainerModifiedEvent(LP#705600)。

  • OrderedContainer.__setitem__中保留原始异常跟踪。

  • 更优雅地处理破损对象。

  • 修复了一个使无法在容器中存储None值的bug(LP#1070719)。

3.12.0 (2010-12-14)

  • 修复了将文件夹移动到自身或自身子文件夹的bug。(LP#118088)

  • 修复了与ZCML相关的测试和依赖问题。

  • 添加zcml额外依赖。

3.11.1 (2010-04-30)

  • 优先使用标准库的doctest模块,而不是来自zope.testing的模块。

  • 通过直接从其中导入IBroken接口,增加与ZODB3 3.10的兼容性。一旦我们可以完全依赖新的ZODB3版本,我们可以移除对zope.broken分布的依赖。

  • 如果建议的名称类型不正确,则永远不会失败(#227617)

  • checkName首先检查参数类型,然后再检查空值。

3.11.0 (2009-12-31)

  • zope.cachedescriptors复制两个简单的类到这个包中,这样我们就可以移除那个依赖。实际上我们没有使用任何缓存属性,正如依赖所建议的。

3.10.1 (2009-12-29)

  • 将与zope.copypastemove相关的测试移动到那个包中。

  • 从配置文件中删除不再使用的zcml前缀。

  • 停止从zope.testing.doctestunit导入DocTestSuite。修复了与zope.testing 3.8.4的兼容性问题。

3.10.0 (2009-12-15)

  • 打破对zope.app.testing的测试依赖。

  • 通过将该代码和测试移动到该包中,打破对zope.app.dependable的测试依赖。

  • 在它从zope.location移动到那里之后,从zope.component导入ISite

3.9.1 (2009-10-18)

  • 重新发布3.9.0,因为它有一个损坏的Windows 2.6 egg。

  • 将此项目标记为ZTK的一部分。

3.9.0 (2009-08-28)

  • 之前的版本应该版本为3.9.0,因为它们不是纯修复版本,值得一个“功能”版本,增加功能版本。

    依赖于在版本3.8.2或3.8.3中引入的任何更改的包应依赖于版本3.9或更高版本。

3.8.3 (2009-08-27)

  • 暂时将容器的IXMLRPCPublisher ZCML注册从zope.app.publisher.xmlrpc移动到zope.container

3.8.2 (2009-05-17)

  • 删除IContained接口。此接口已移动到zope.location.interfaces。仍然存在一个b/w兼容导入,以保持旧代码运行。依赖于zope.location>=3.5.4。

  • 移除对 IObjectMovedEventIObjectAddedEventIObjectRemovedEvent 接口和 ObjectMovedEventObjectAddedEventObjectRemovedEvent 类的实现。仍然存在兼容性导入。所有这些都被移动到了 zope.lifecycleevent。依赖 zope.lifecycleevent>=3.5.2。

  • 修复了 OrderedContainer 中的一个错误,尝试设置已存在的键的值(重复错误)实际上会从顺序中删除该键,留下一个悬挂引用。

  • 通过弃用 zope.traversing.api.getPath 并改用 ILocationInfo(object).getPath(),部分消除了对 zope.traversing 的依赖。目前 zope.traversing 的其余运行时依赖都是接口依赖。

  • 通过在注册 IObjectRemovedEventCheckDependency 处理器的订阅者 ZCML 指令中使用 zcml 条件,断开了对 zope.app.dependable 的运行时依赖。如果未安装 zope.app.dependable,则此订阅者将不会被注册。《zope.app.dependable》现在仅是测试依赖。

3.8.1 (2009-04-03)

  • 修复了 3.8.0 版本的打包错误

3.8.0 (2009-04-03)

  • 修改 configure.zcml 以不依赖 zope.app.component。修复:[https://bugs.launchpad.net/bugs/348329](https://bugs.launchpad.net/bugs/348329)

  • IOrderedContainer.updateOrder 的声明移动到新的基本 IOrdered 接口,并让 IOrderedContainer 继承它。这使得声明更容易重用。

3.7.2 (2009-03-12)

  • 修复:添加了自修订号 95429 以来缺失的 ComponentLookupError,上一次发布中也没有。

  • 适应从 zope.component.interfaceszope.publisher.interfacesIDefaultViewName 的移动。

  • 为容器添加了对保留名称的支持。要为某些容器指定保留名称,需要提供一个从容器到 zope.container.interfaces.IReservedNames 接口的适配器。默认的 NameChooser 现在也了解保留名称。

3.7.1 (2009-02-05)

  • __setitem__ 中抛出更多“Pythonic”的错误,从而失去对 zope.exceptions 的依赖

    o zope.exceptions.DuplicationError -> KeyError

    o zope.exceptions.UserError -> ValueError

  • IBroken 接口的导入移动到使用新的 zope.broken 包,该包除了 zope.interface 外没有其他依赖。

  • 使 test 部分引入此包的额外测试需求。

  • z3c.recipe.compattest 配置拆分到一个新文件 compat.cfg 中,以减少执行标准单元测试的负担。

  • buildout.cfg 中移除虚假的开发 eggs。

3.7.0 (2009-01-31)

  • 将此包从 zope.app.container 中分离出来。此包的预期依赖性比 zope.app.container 少得多。

  • 此包还包含以前在 zope.app.folder 中的容器实现。

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

zope_container-6.1.tar.gz (72.8 kB 查看哈希值)

上传时间

构建分发

zope.container-6.1-cp313-cp313-win_amd64.whl (78.2 kB 查看哈希值)

上传时间 CPython 3.13 Windows x86-64

zope.container-6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (116.6 kB 查看哈希值)

上传时间 CPython 3.13 manylinux: glibc 2.17+ ARM64

zope.container-6.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (117.4 kB 查看哈希值)

上传时间 CPython 3.13 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zope.container-6.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (110.9 kB 查看哈希值)

上传时间 CPython 3.13 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zope.container-6.1-cp313-cp313-macosx_11_0_arm64.whl (76.7 kB 查看哈希值)

上传时间 CPython 3.13 macOS 11.0+ ARM64

zope.container-6.1-cp313-cp313-macosx_10_9_x86_64.whl (76.3 kB 查看哈希值)

上传时间 CPython 3.13 macOS 10.9+ x86-64

zope.container-6.1-cp312-cp312-win_amd64.whl (78.1 kB 查看哈希值)

上传时间: CPython 3.12 Windows x86-64

zope.container-6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (116.6 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ ARM64

zope.container-6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (117.4 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zope.container-6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (110.9 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zope.container-6.1-cp312-cp312-macosx_11_0_arm64.whl (76.7 kB 查看哈希值)

上传时间: CPython 3.12 macOS 11.0+ ARM64

zope.container-6.1-cp312-cp312-macosx_10_9_x86_64.whl (76.3 kB 查看哈希值)

上传时间: CPython 3.12 macOS 10.9+ x86-64

zope.container-6.1-cp311-cp311-win_amd64.whl (78.0 kB 查看哈希值)

上传时间: CPython 3.11 Windows x86-64

zope.container-6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (114.8 kB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.17+ ARM64

zope.container-6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114.7 kB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zope.container-6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (108.6 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zope.container-6.1-cp311-cp311-macosx_11_0_arm64.whl (76.7 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

zope.container-6.1-cp311-cp311-macosx_10_9_x86_64.whl (76.1 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

zope.container-6.1-cp310-cp310-win_amd64.whl (78.0 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

zope.container-6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (113.0 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARM64

zope.container-6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (112.8 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zope.container-6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (106.7 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zope.container-6.1-cp310-cp310-macosx_11_0_arm64.whl (76.7 kB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

zope.container-6.1-cp310-cp310-macosx_10_9_x86_64.whl (76.1 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

zope.container-6.1-cp39-cp39-win_amd64.whl (78.0 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

zope.container-6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (110.9 kB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ ARM64

zope.container-6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (110.6 kB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zope.container-6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (105.4 kB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zope.container-6.1-cp39-cp39-macosx_11_0_arm64.whl (76.7 kB 查看哈希值)

上传时间 CPython 3.9 macOS 11.0+ ARM64

zope.container-6.1-cp39-cp39-macosx_10_9_x86_64.whl (76.1 kB 查看哈希值)

上传时间 CPython 3.9 macOS 10.9+ x86-64

zope.container-6.1-cp38-cp38-win_amd64.whl (78.0 kB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

zope.container-6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (110.2 kB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ ARM64

zope.container-6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (110.5 kB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zope.container-6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (105.2 kB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zope.container-6.1-cp38-cp38-macosx_11_0_arm64.whl (76.6 kB 查看散列)

上传时间 CPython 3.8 macOS 11.0+ ARM64

zope.container-6.1-cp38-cp38-macosx_10_9_x86_64.whl (76.1 kB 查看散列)

上传时间 CPython 3.8 macOS 10.9+ x86-64

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面