Hasty Briefsbeta

双语

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__等目录