SuperAPI AI 工具集

uv-build

编程与开发

查看项目

更新于 10-15 22:15

技能介绍

uv_build 是 Astral 开发的基于 Rust 的 Python 包构建后端,是 uv 为大多数纯 Python 包推荐的官方后端。仅适用于纯 Python 包,不支持 C/Rust 扩展。

用途:构建 Python 包、配置构建后端、发布到 PyPI、设置 pyproject.toml 构建系统。

主要能力:当 uv 检测到 uv_build 后端时,会绕过 PEP 517,直接在进程内调用 Rust 代码,无需 Python 子进程、构建环境或依赖安装,甚至无需安装 Python 即可构建发布。支持 src 布局与扁平布局、多模块、PEP 420 命名空间包、类型存根包、文件包含/排除、wheel 数据目录、可编辑安装(静态 .pth 文件)以及严格的元数据校验。

使用方式:在 pyproject.toml 中配置 [build-system],requires 设为 uv_build>=0.11.7,<0.12,build-backend 设为 uv_build。常用命令包括 uv build(构建 sdist 和 wheel)、uv build --list(预览包含文件)、uv build --no-sources(验证 PyPI 兼容性)、uv version --bump(版本管理)、uv publish(上传 PyPI)。

适用场景:纯 Python 包、零配置快速构建、CI 发布流程。

限制:不支持 C/C++/Cython/Rust 扩展;不支持动态元数据(dynamic = [...]),版本必须静态写入 pyproject.toml;不支持构建钩子;不支持 setup.py/setup.cfg;需使用上界版本固定。扩展项目应改用 setuptools、maturin 或 scikit-build-core;需要 VCS 版本管理或构建钩子时应使用 hatchling。