跳转到主要内容

为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]
  • 传递给 buildpip 等工具的 -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_metasetup.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",
]

项目详情


下载文件

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

源分布

此版本没有可用的源分布文件。请参阅 生成分布存档 的教程。

构建分布

rapids_build_backend-0.3.2-py3-none-any.whl (14.4 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面