扩展setuptools以支持所有核心元数据字段
项目描述
setuptools-ext
这是一个PEP 517构建后端接口,它支持核心元数据规范中的一些字段,这些字段使用现有工具很难提供。具体来说,它允许通过在pyproject.toml的[tool.setuptools-ext]部分指定这些字段来声明下表中右列标记为“—”的字段。后端在其它方面与setuptools.build_meta完全相同,实际上是可以替换默认setuptools构建后端的自带组件。
Setuptools没有提供一种方法来指定一些字段,尽管根据规范它们在Python包元数据中是有效的。似乎PEP 621 – 将项目元数据存储在pyproject.toml中也跳过了一些字段。
字段 |
setup.py关键字 |
pyproject.toml名称 |
---|---|---|
名称 |
name |
name |
版本 |
version |
version |
动态(多用途) |
— |
dynamic |
平台(多用途) |
platforms |
— |
支持的平台(多用途) |
— |
— |
摘要 |
description |
description |
描述 |
long_description |
readme |
描述内容类型 |
long_description_content_type |
readme |
关键词 |
keywords |
keywords |
主页 |
url |
[project.urls] |
下载URL |
download_url |
— |
作者 |
author |
authors |
作者邮箱 |
author_email |
authors |
维护者 |
maintainer |
maintainers |
维护者邮箱 |
maintainer_email |
maintainers |
许可证 |
许可证 / 许可文件 |
许可证 |
分类器(多次使用) |
分类器 |
分类器 |
需要-分发(多次使用) |
install_requires |
依赖关系 |
需要-Python |
python_requires |
requires-python |
需要-外部(多次使用) |
— |
— |
项目-URL(多次使用) |
project_urls |
[project.urls] |
提供-额外(多次使用) |
extras_require |
[project.optional-dependencies] |
提供-分发(多次使用) |
— |
— |
废弃-分发(多次使用) |
— |
— |
以上信息的参考链接
Setuptools 关键字 和 新和更改的 setup() 关键字
用法
为了提供一个简单的例子,如果您想添加三次 支持的平台 和 需要-外部 字段,在 .dist-info/METADATA 文件中产生这些行
Supported-Platform: RedHat 8.3
Requires-External: C
Requires-External: libpng (>=1.5)
Requires-External: make; sys_platform != "win32"
您可以在 pyproject.toml 中这样配置工具,指定对 setuptools-ext 的构建依赖,然后在 [tool.setuptools-ext] 部分添加字段
[build-system]
requires = ["setuptools-ext"]
build-backend = "setuptools_ext"
...
[tool.setuptools-ext]
supported-platform = [
"RedHat 8.3",
]
requires-external = [
"C",
"libpng (>=1.5)",
'make; sys_platform != "win32"'
]
元数据字段可以被用于构建带有系统依赖项的RPM软件包的自动化工具等。
注意: 此软件包不会向 setup.py(这是PEP 517构建后端的范围之外)添加新的关键字参数。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。