跳转到主要内容

Backport/clone of ChainMap for py26, py32, and pypy3.

项目描述

PyPI Package latest release PyPI Package monthly downloads Supported versions Supported implementations Wheel packaging support Test line coverage

此模块是一个polyfill,为没有collections.ChainMap的Python较新版本实现ChainMap – 即Python 2.6、Python 3.2以及基于Python 3.2的PyPy3发行版(它也将在Python 2.7、PyPy和Python 3.3+上按预期工作,但在这些版本中不是严格必需的,因为它们的collections模块包含良好的ChainMap实现)。

此包的代码与Python 3.5源代码密切相关(特别是collections和reprlib模块)。已进行了几项更改以确保Python 2.6兼容性,并添加了测试和打包。

典型用法

from chainmap import ChainMap

如果当ChainMap在Python标准库中可用时,您更喜欢优先从Python标准库中导入

try:
    from collections import ChainMap
except ImportError:
    from chainmap import ChainMap

请参阅标准文档了解如何使用ChainMap的详细信息。

如果您不确定为什么有人会使用ChainMap,它们在管理“嵌套”上下文和“覆盖”方面非常有用。例如,在我的optionsquotersay软件包中,广泛使用了它们来进行灵活的选项处理。您可以在Django模板引擎的Context类中找到类似的使用。

注意事项

  • 使用pytestpytest-covcoveragetox进行自动多版本测试。使用pyroma进行打包检查。

  • 感谢Travis CI,该软件已成功打包并针对所有合理的新版本Python进行测试:2.6、2.7、3.2、3.3、3.4、3.5、3.6和3.7,以及PyPy 5.8.0(基本上是Python 2.7.13)和PyPy3 5.10.1(对应Python 3.5.3)。

  • 作者Jonathan Eunice@jeunice on Twitter欢迎您的评论和建议。

安装

要安装或升级到最新版本

pip install -U chainmap

在特定Python版本下使用easy_install(例如,此示例中的3.3)

python3.3 -m easy_install --upgrade chainmap

(您可能需要用sudo前缀来授权安装。在没有超级用户权限的环境中,您可能想使用pip的--user选项,只为单个用户安装,而不是系统范围内。)

项目详情


下载文件

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

源分布

chainmap-1.0.3.tar.gz (6.3 kB 查看哈希值

上传时间: 源代码

构建分布

chainmap-1.0.3-py3-none-any.whl (9.2 kB 查看哈希值

上传时间: Python 3

由以下机构支持

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