Zope组件架构
项目描述
zope.component
此包代表Zope组件架构的核心。与zope.interface包一起,它提供了定义、注册和查找组件的功能。
变更
6.0 (2023-04-14)
停止支持Python 2.7、3.5和3.6。
5.1.0 (2023-01-03)
修复当环境变量PYTHONOPTIMIZED设置为2且解释器将docstrings设置为None时的崩溃。(#67)
添加对Python 3.10和3.11的支持。
5.0.1 (2021-07-09)
修复在旧的持久适配器注册表中注销工具的问题。以前这可能会引发TypeError。请参阅问题62。
5.0.0 (2021-03-19)
删除发出弃用警告的向后兼容性导入。这会影响从 zope.component.interfaces (应从 zope.interface.interfaces 导入)以及从 zope.component.registery (从 zope.interface.registry 导入)导入的某些导入,以及整个 zope.component.hookable 模块。请参阅 问题 59。
尊重实用工具工厂注册的权限值(#54)
添加对 Python 3.9 的支持
修复 <subscriber> ZCML 指令,以允许在给定 factory= 且 Python 对象已用 @implementer 装饰并实现单个接口时缺少 provides= 属性。这已被记录,但之前并未工作。请参阅 问题 9。
使 PersistentAdapterRegistry 使用持久对象(PersistentMapping 和 PersistentList)作为其内部数据结构,而不是使用普通的字典和列表。这有助于使其可扩展到更大的注册表大小。
这需要 zope.interface 5.3.0a1 或更高版本。
新注册表(及其主要用户 PersistentComponents 和 zope.site 的 LocalSiteManager)会自动充分利用这一点。为了使现有的持久注册表利用这一点,您必须调用它们的 rebuild() 方法并提交事务。
请参阅 问题 51。
修复 zope.interface.interface.provideInterface 和各种搜索和查询方法,以使用当前站点管理器而不是始终使用全局站点管理器。(当从 ZCML 注册组件时,隐式调用 provideInterface。)搜索和查询方法继续返回在基础站点管理器中注册的接口。
请参阅 问题 10。
4.6.2 (2020-07-03)
改进文档,包括已发布文档和文档字符串。请参阅 PR 49。
4.6.1 (2020-03-23)
确保 BaseGlobalComponents 的解析顺序一致。请参阅 问题 45。
4.6.0 (2019-11-12)
添加对 Python 3.8 的支持。
停止支持 Python 3.4。
修复 ZODB 5.5.0 修改后的 Python 2 的测试。
4.5.0 (2018-10-10)
添加对 Python 3.7 的支持。
始终将 zope.hookable 作为依赖项安装(现在 hook 额外功能为空)。zope.hookable 尊重 PURE_PYTHON 环境变量,并提供可选的 C 扩展。
当访问已移动到 zope.interface 的名称时,生成 DeprecationWarning。
4.4.1 (2017-09-26)
从 interfaceToName 中删除过时的 searchInterface 调用。请参阅 https://github.com/zopefoundation/zope.component/issues/32
4.4.0 (2017-07-25)
添加对 Python 3.6 的支持。
停止支持 Python 3.3。
停止支持“setup.py test”。
代码覆盖率报告现在由 coveralls.io 生成和托管,PR 必须保持 100%。
在 zope.component.testfiles 中的内部测试代码已调整,并在某些情况下已删除。
4.3.0 (2016-08-26)
在 tox 下测试 PURE_PYTHON 环境,避免污染用户的全局 wheel 缓存。
停止支持 Python 2.6 和 3.2。
添加对 Python 3.5 的支持。
4.2.2 (2015-06-04)
修复 PyPy 和 PyPy3 的测试用例。
4.2.1 (2014-03-19)
添加对 Python 3.4 的支持。
4.2.0 (2014-02-05)
更新 boostrap.py 到版本 2.2。
在 zope.testing.cleanup.cleanUp 时刻重置缓存的 adapter_hooks (LP1100501)。
实现指定适配器和实用工具名称的功能。使用 @zope.component.named(name) 装饰器来指定名称。
4.1.0 (2013-02-28)
将“ZODB3”依赖项更改为“persistent”。
现在 tox 会运行 Python 3.2 和 3.3 的所有测试。
启用 Python 3 的 buildout。
修复新的失败测试。
4.0.2 (2012-12-31)
完善 PyPI Trove 分类器。
4.0.1 (2012-11-21)
添加对 Python 3.3 的支持。
4.0.0 (2012-07-02)
添加 PyPy 和 Python 3.2 支持
安全支持被省略,直到 zope.security 端口。
省略对 Persistent registry 的支持,直到 ZODB 端口(或 persistent 因子提取)。
将单元测试覆盖率提升至 100%。
移除 zope.component.zcml.view 和 zope.component.zcml.resource ZCML 指令中长时间废弃的 layer 参数。
添加使用 tox 和 jenkins 进行持续集成的支持。
使测试可以通过 setup.py test 运行。
添加 Sphinx 文档。
添加 setup.py docs 别名(安装 Sphinx 和依赖项)。
添加 setup.py dev 别名(运行 setup.py develop 并安装 nose 和 coverage)。
3.12.1 (2012-04-02)
在 try/finally 中包含 with site(foo) (LP768151)。
3.12.0 (2011-11-16)
添加便利函数 zope.component.hooks.site(一个上下文管理器),因此可以编写 with site(foo): ...。
3.11.0 (2011-09-22)
将实现基本非持久化组件注册表的代码从 zope.component.registry 移动到 zope.interface.registry。此代码从 zope.component 移动到 zope.interface 以使仅依赖于基本组件注册表的系统(如 Pyramid)移植到 Python 3 成为可能,而无需移植整个 zope.component 包。在 zope.component 中留下了向后兼容的导入垫片,因此此更改不会破坏任何现有代码。
将接口从 zope.component.interfaces 移动到 zope.interface.interfaces:ComponentLookupError、Invalid、IObjectEvent、ObjectEvent、IComponentLookup、IRegistration、IUtilityRegistration、IAdapterRegistration、ISubscriptionAdapterRegistration、IHandlerRegistration、IRegistrationEvent、RegistrationEvent、IRegistered、Registered、IUnregistered、Unregistered、IComponentRegistry 和 IComponents。已留下向后兼容的垫片。
依赖 zope.interface >= 3.8.0。
3.10.0 (2010-09-25)
删除 docs 额外内容和 sphinxdoc 脚本。
创建一个 security 额外来将安全相关依赖项从 test 额外中移出。
使用新的 zope.testrunner 包进行测试。
添加对提供的 configure.zcml 文件的基线测试。
3.9.5 (2010-07-09)
修复测试需求规范。
3.9.4 (2010-04-30)
优先使用标准库中的 doctest 而不是 zope.testing 中的。
3.9.3 (2010-03-08)
zope.component 提供的 ZCML 指令现在在全局注册表中注册组件,而不是在 getSiteManager 返回的注册表中。此更改允许在 ZCML 文件加载之前钩住 getSiteManager 方法,以便在自定义注册表中注册组件。
3.9.2 (2010-01-22)
修复了由最近重构引入的bug,该bug导致将CheckerPublic传递给securityAdapterFactory时错误地将工厂包装为LocatingUntrustedAdapterFactory。
3.9.1 (2010-01-21)
修改测试以避免测试运行器被外部测试运行器的选项影响,例如-v选项。
3.9.0 (2010-01-21)
添加测试层支持。现在可以在测试中更轻松地加载ZCML文件。请参阅src/zope/component/testlayer.py和src/zope/component/testlayer.txt。
3.8.0 (2009-11-16)
从zcml额外中移除了对zope.proxy和zope.security的依赖:zope.component不再对它们有硬依赖;只有当zope.security和zope.proxy可用时,才启用对安全代理组件ZCML注册的支持。
将IPossibleSite和ISite接口从zope.location移到这里,因为它们处理的是zope.component的站点概念,而不是位置。
将zope.site.hooks功能移动到zope.component.hooks,因为它实际上并没有处理zope.site的站点概念。
3.7.1 (2009-07-24)
修复了一个问题,即当上下文无法适应IComponentLookup时,queryNextUtility可能会失败。
修复了2个相关bug
当注册了一个实用工具,并且之前已经为相同的接口和名称注册了一个实用工具时,则旧实用工具将被注销。与这个问题相关的2个bug
对于隐式注销没有Unregistered。现在有了。
旧实用工具仍然被保留并由getAllUtilitiesRegisteredFor返回。换句话说,它仍然被视为已注册,即使它没有。这种做法的一个特别负面的后果是,即使未使用,实用工具也可能被保留在内存或数据库中。
3.7.0 (2009-05-21)
确保测试运行器会运行HookableTests。
将zope:view和zope:resource实现添加到zope.component.zcml中(依赖通过zope.component [zcml]加载)。
3.6.0 (2009-03-12)
重要:在zope.component.bbb.interfaces中定义并已弃用多年的接口现在(重新)移除了。然而,一些包,包括Zope框架的一部分仍在使用这些接口。它们将为此更改进行适配。如果您使用了其中的一些接口,您也需要对您的代码进行适配。
将IView和IDefaultViewName移到zope.publisher.interfaces。
将IResource移到zope.app.publisher.interfaces。
完全删除IContextDependent、IPresentation、IPresentationRequest、IResourceFactory和IViewFactory。
如果您在zope.app.form的上下文中使用了IViewFactory,那么现在在zope.app.form.interfaces中有一个IWidgetFactory。
将getNextUtility / queryNextUtility函数从zope.site(它们在zope.app.component中甚至更早之前)移到这里。
添加一个纯Python的hookable实现,用于在zope.hookable不存在时使用。
通过打破导入循环来移除对zope.deferredimport的使用。
清理包文档和更改日志,并在buildout中添加基于sphinx的文档构建命令。
删除弃用的代码。
将软件包的邮件列表地址更改为zope-dev@zope.org,因为zope3-dev@zope.org现在已停用。
3.5.1 (2008-07-25)
修复3.5.0版本中引入的错误:不再支持在Python中声明的接口,并且始终需要显式的
provides="..."
属性。https://bugs.launchpad.net/zope3/+bug/251865
3.5.0 (2008-07-25)
通过组件注册表支持通过工厂注册实用工具,并在注册信息中返回工厂信息。修复了https://bugs.launchpad.net/zope3/+bug/240631
通过存储用于高效检索已注册实用工具的优化数据结构来优化
un/registerUtility
。这避免了在注册新实用工具时遍历所有实用工具。
3.4.0 (2007-09-29)
自3.4.0a1以来没有进一步更改。
3.4.0a1(2007-04-22)
对应于Zope 3.4.0a1中的zope.component
。
在Zope 3.3.x系列中,
zope.component
再次进行了简化。有关变更的提案,请参阅http://wiki.zope.org/zope3/LocalComponentManagementSimplification。
3.2.0.2 (2006-04-15)
修复打包错误:
package_dir
必须是一个相对路径。
3.2.0.1 (2006-04-14)
打包更改:抑制在
sdist
构建中包含setup.cfg
。
3.2.0 (2006-01-05)
对应于Zope 3.2.0版本中作为Zope 3.2.0版本一部分提供的zope.component
包的版本。
弃用服务及其相关API。现在可以通过站点管理器的“适配器”和“实用工具”属性直接访问适配器和实用工具注册表。服务仍然可访问,但已弃用,将在Zope 3.3中删除。
弃用所有与表示相关的API,包括所有与视图相关的API函数。请使用适配器API函数。请参阅http://dev.zope.org/Zope3/ImplementViewsAsAdapters`
弃用
contextdependent
包:现在通过在URL遍历期间设置的线程全局变量查找站点管理器。《context》参数现在是可选的,不应再传递。
3.0.0 (2004-11-07)
对应于Zope X3.0.0版本中作为Zope 3.0.0版本一部分提供的zope.component
包的版本。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
zope.component-6.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9a0a0472ad201b94b4fe6741ce9ac2c30b8bb22c516077bf03692dec4dfb6906 |
|
MD5 | 55d4d24f425b18e2368a18c468f8cc47 |
|
BLAKE2b-256 | 533287db95f4a5f097aa837dcb951f5a4754e2e8d3ac70160a6c2df7bd215956 |
zope.component-6.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 96d0a04db39643caf2dfaec152340f3e914df1dc3fa32fbb913782620dc6c3c6 |
|
MD5 | 63c35276e172ebef20e1ee175dc25bb3 |
|
BLAKE2b-256 | a0ea18a5e07ce7f66714aa289ba21c5bc52221bffc3a77d6e4318d50e8a0a3f7 |