Backport/clone of ChainMap for py26, py32, and pypy3.
项目描述
此模块是一个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,它们在管理“嵌套”上下文和“覆盖”方面非常有用。例如,在我的options、quoter和say软件包中,广泛使用了它们来进行灵活的选项处理。您可以在Django模板引擎的Context类中找到类似的使用。
注意事项
使用pytest、pytest-cov、coverage和tox进行自动多版本测试。使用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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e42aaa4b3e2f66102a11bfd563069704bfbfd84fdcb517b564effd736bf53cd9 |
|
MD5 | f6e868473d269acbcd87a2fdb4cbe57c |
|
BLAKE2b-256 | c7ab268a15383b75ca3e58ce344bce165b79768e516f8e79c87cbdaba30c38e9 |
chainmap-1.0.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 22b6ccf38698c0356e65e5dfa49c98fb16e3408928b95d90e2332e2fb787988e |
|
MD5 | af700fc5573895b1eb739b77a3a552e3 |
|
BLAKE2b-256 | f5f778ddc379d5dc2bbdcf690c3663396d8be5f2c7bc76d30012beef620272ee |