为RAPIDS提供的自定义PEP517构建器
项目描述
RAPIDS PEP517构建后端
rapids-build-backend
是围绕PEP517构建器的一个适配器,它为RAPIDS的关键需求提供支持。
该软件包的主要目的是自动化在发布软件包之前通常对RAPIDS软件包元数据进行的各种预处理。
它负责以下工作
- 根据目标CUDA版本和架构确定软件包的正确依赖项
- 修改软件包名称以包含CUDA后缀(例如
"rmm" -> "rmm-cu11"
) - 更新导入软件包中嵌入的git提交。
支持的构建器
该项目已知支持以下构建器
scikit-build-core
setuptools
支持的配置
rapids-build-backend
提供了对跳过或修改可能仅在某些场景中需要的行为的配置(例如 wheel与conda构建与可编辑安装)。
任何没有默认值的选项都是必需的。
选项 | 定义 | 类型 | 默认值 | 支持动态修改 |
---|---|---|---|---|
build-backend |
包装的构建后端(例如 setuptools.build_meta ) |
字符串 | N | |
commit-files |
要写入git提交哈希的文件列表 | 列表[str] | ["<project_name>/GIT_COMMIT"] | N |
dependencies-file |
要使用的 dependencies.yaml 文件的路径 |
字符串 | "dependencies.yaml" | Y |
disable-cuda |
如果为真,则在设置软件包名称和依赖项时忽略构建环境中的CUDA版本 | 布尔值 | 假 | Y |
矩阵条目 |
A ; 分隔的 = 定义的键/值对列表 |
字符串 | "" | Y |
需求 |
构建需求列表(除 build-system.requires 之外) |
列表[str] | [] | N |
此配置可以通过以下机制提供
pyproject.toml
中的[tool.rapids-build-backend]
表- 传递给
build
和pip
等工具的-C / --config-settings
- (以
rapidsai.
为前缀,例如pip wheel -C rapidsai.disable=cuda=true .
)
- (以
- 环境变量
- (以
RAPIDS_
为前缀,例如RAPIDS_DISABLE_CUDA=true pip wheel .
)
- (以
setuptools
支持
该项目支持使用 setuptools.build_meta
作为其构建后端,并使用 setup.py
进行配置的构建。
但是,它不支持通过 setup_requires
将依赖项列表传递给 setuptools.setup()
。如果您想使用 setuptools.build_meta
和 setup.py
,请将需要在 setup.py
运行之前安装的依赖项列表通过 rapids-build-backend
的需求传递,如下所示
[project]
build-backend = "rapids_build_backend.build"
requires = [
"rapids-build-backend",
"setuptools"
]
[tool.rapids-build-backend]
build-backend = "setuptools.build_meta"
requires = [
"Cython"
]
其他构建依赖项
当使用 rapids-build-backend
时,pyproject.toml
中的 [build-system]
表应仅包括 rapids-build-backend
和提供其包装构建后端的库。
例如
[build-system]
build-backend = "rapids_build_backend.build"
requires = [
"rapids-build-backend>=0.3.0,<0.4.0dev0",
"setuptools>=64.0.0",
]
任何其他构建时依赖项都应通过 [tool.rapids-build-backend]
表中的 requires
提供。
例如
[tool.rapids-build-backend]
build-backend = "setuptools.build_meta"
dependencies-file = "dependencies.yaml"
requires = [
"cython>=3.0.0",
]
项目详情
关闭
哈希值 for rapids_build_backend-0.3.2-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | acd7055e6600943b345561411c289507a186b3bf11fdd149a941e6f07773809e |
|
MD5 | 5ea0d6fe99437ebf4fc275d6c48e56bf |
|
BLAKE2b-256 | 6919cd882faf1ab2fc6adba8a42659fe3c1d058e519acc21607a835bf38fca18 |