跳转到主要内容

易于使用的PEP 508标记

项目描述

highlighter

易于使用PEP 508标记。这些是分号后的要求字符串,例如 enum34; python_version < '3.5' 意味着仅在某些Python版本上使用包 enum34

from packaging.markers import Marker
from packaging.requirements import Requirement

from highlighter import EnvironmentMarkers

req = Requirement("enum34; python_version < '3.5'")

env = EnvironmentMarkers.for_python("3.7.5", "win32")
env.match(req.marker)  # False

# Lower-level interface, you can use Marker directly
m = Marker("python_version < '3.5'")
env.match(m)  # False

# What about extras?
req = Requirement("somepackage[foo,bar]")
m = Marker("extra == 'foo'")
env.match(m, extras=req.extras) # True

Egg-info 额外信息

这还包括一个可以将 requires.txt(如在 egg-info 目录中找到,sdists中唯一的一种)转换为等效的 requirements.txt 行列表的功能,使用PEP 508标记。

from highlighter.sdist import convert_sdist_requires

convert_sdist_requires("""\
[socks]
PySocks!=1.5.7,>=1.5.6

[socks:sys_platform == "win32" and python_version == "2.7"]
win_inet_pton
""") == """\
PySocks!=1.5.7,>=1.5.6; extra == 'socks'
win_inet_pton; (sys_platform == "win32" and python_version == "2.7") and extra == 'socks'
"""

许可协议

highlighter版权所有Tim Hatch,并许可在MIT许可下。我正在以开源许可向您提供此存储库中的代码。这是一个个人存储库;您收到的代码许可来自我,而不是我的雇主。有关详细信息,请参阅 LICENSE 文件。

项目详情


下载文件

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

源分布

highlighter-0.2.0.tar.gz (7.2 kB 查看哈希值)

上传时间:

构建分布

highlighter-0.2.0-py3-none-any.whl (6.5 kB 查看哈希值)

上传时间: Python 3

支持