标签
Simon Willison 分享了一个适用于使用 uv 的 Python 项目的故障排查技巧:当出现令人困惑的依赖构建错误时(例如,固定版本的依赖缺少适用于 Python 3.15 的 wheel 包),只需删除 uv.lock 文件,然后重新运行命令即可。
Astral 发布 tar-codec,一个用 Rust 编写的快速且安全的 tar 解析库,自 uv 0.13 起用于解析 Python 源码分发包(sdists),速度约为 astral-tokio-tar 的两倍,同时降低了解析器差异带来的安全风险。
Astral 发布实验性的 uv 与 ty 集成,新增 `uv check` 统一命令,可自动安装 ty、同步依赖并对项目进行类型检查,同时为 PEP 723 内联元数据声明的 Python 脚本提供一等公民支持。
uv 0.13.4 已发布,更新了捆绑的 CA 证书以应对 eMudra 事件。该事件由于 certifi 和 webpki-root-certs 等捆绑的 CA 证书而影响了大部分开源生态。建议用户升级所有捆绑 CA 证书的组件。
Charlie Marsh 分享 Astral 团队努力确保 python-build-standalone 与 uv 能在 Python 新小版本(如 3.15)发布当天同步支持,提升开发者工具链的及时性。
Python 3.15 现已发布,Astral 的 Python 包和项目管理器 uv 0.13.0 已支持该版本。
Astral 的 GPU wheel 索引现已支持 PyTorch 2.13、2.14 和 Python 3.15,并针对各 CUDA 版本更新了 FlashAttention、FlashAttention 3、causal-conv1d、DeepSpeed 等 GPU 包的构建。
最新版 uv 现在支持直接从 uv 锁文件安装,无需 pyproject.toml,从而实现更高效的 Docker/CI 层缓存,因为依赖层不再因 pyproject.toml 的变更而失效。
在预览版中,uv 将省略锁文件中的包元数据,平均减少锁文件大小最多 50%,并降低冲突。
uv 的 ZIP 解压已通过将其移至带有同步文件系统操作的单个阻塞任务中得到优化,灵感来自 Bun 的代码,从而加快了从 PyPI 安装 Jupyter 等包的速度。
uv 现在为 macOS 和 Windows 提供代码签名的二进制文件,可用于独立安装程序和 PyPI wheels,增强安全性和分发。
Python 3.15 引入了惰性导入,以提升命令行界面应用程序和包含未使用导入的代码的性能,并且作者开发了 flake8-lazy 工具以简化采用过程。文章还探讨了在开发此工具中使用人工智能的情况。
Ruff、uv 和 ty 的安装量从五月到七月增长了超过 40%,达到每月 7.85 亿次安装,其中仅 uv 在七月份的安装量就超过了 5 亿次。
在启用 ARM 的硬件加速 SHA-256 后,uv 将在下一个版本中提速,将 Trio 安装的墙上时间提升高达 10%。
Charlie Marsh 分享了一张图表,展示了 Python 包管理器 uv 的二进制文件大小随时间的变化。
uv 0.12.0 对 `uv init` 引入了破坏性变更,默认采用 `src/` 为基础的项目结构,配置 uv_build 后端,并设置脚本别名。该更新鼓励使用现代 Python 项目结构。
Charlie Marsh使用Codex构建了一个名为'hawk'的工具,用于识别并删除Cargo工作区中的死代码,该工具已用于从uv和Codex本身删除数千行代码。
uv 的锁文件大小通过压缩环境标记减少了 40-50%。
一项针对 uv 解析器的优化使 Jupyter 性能提升 13%,Boto3 性能提升 2.4 倍,详情见博客文章。
为uv的解析器添加传递性预发布支持,解决了许多长期存在的问题。