Hasty Briefsbeta

双语

PEP 751: Pylock.toml

8 months ago
  • #Python
  • #Packaging
  • #Dependencies
  • PEP 751提案提出了一种名为'pylock.toml'的新文件格式,用于指定Python依赖项以确保可复现的安装。
  • 该格式设计为既人类可读又可机器生成,消除了安装过程中依赖项解析的需求。
  • 关键特性包括支持单次使用和多次使用的锁定文件、强制哈希等安全默认设置,以及与各种环境的兼容性。
  • 文件格式采用TOML,包含软件包详情、依赖项、版本控制系统源、目录、归档文件、源码分发和轮子包等部分。
  • 引入了新的标记表达式'extras'和'dependency_groups'以支持多次使用的锁定文件。
  • 安装步骤包括检查兼容性、评估标记表达式,并根据指定源安装软件包,同时验证哈希值和文件大小。
  • 该PEP通过要求哈希值和文件详情解决了部分安全问题,但并未解决所有潜在安全隐患,如篡改或域名抢注。
  • 向后兼容性无需考虑,因为此前并不存在标准锁定文件格式。
  • 该PEP否决了记录依赖图用于安装、指定新的核心元数据版本,以及要求最低哈希算法支持等提议。
  • 参考实现和工具如PDM、Poetry和uv被提及为语义相似的解决方案。