为RAPIDS提供的自定义PEP517构建器
项目描述
RAPIDS PEP517构建后端
rapids-build-backend 是围绕PEP517构建器的一个适配器,它为RAPIDS的关键需求提供支持。
该软件包的主要目的是自动化在发布软件包之前通常对RAPIDS软件包元数据进行的各种预处理。
它负责以下工作
- 根据目标CUDA版本和架构确定软件包的正确依赖项
- 修改软件包名称以包含CUDA后缀(例如
"rmm" -> "rmm-cu11") - 更新导入软件包中嵌入的git提交。
支持的构建器
该项目已知支持以下构建器
scikit-build-coresetuptools
支持的配置
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 |