The uv build back end is now stable
10 months ago
- #build-backend
- #python
- #uv
- uv构建后端当前是`uv init`的默认选项,但未来版本将取代hatchling
- uv支持所有符合PEP 517规范的构建后端,并提供自研uv_build以获得更好性能和用户体验
- uv构建后端适合大多数Python项目,提供零配置默认值并与uv深度集成
- 它能验证项目元数据、预防常见错误且速度极快,但仅支持纯Python代码
- 要使用uv作为构建后端,需在pyproject.toml的[build-system]部分添加uv_build
- 新建项目请使用`uv init`命令初始化uv构建后端
- uv可执行文件内置捆绑版构建后端,但python -m build等外部前端会使用uv_build包
- Python模块默认采用src/<包名>/__init__.py结构,名称会规范化(如Foo-Bar转为foo_bar)
- 命名空间包使用点分隔模块名(如foo.bar),共享命名空间需省略__init__.py
- 类型存根包需使用-stubs后缀(如foo-stubs)和__init__.pyi文件
- 文件包含/排除规则:包含模式需锚定路径,排除模式非锚定,默认排除__pycache__等目录