PEP 794:导入名称元数据

PEP 794:导入名称元数据

💡 原文英文,约1600词,阅读约需6分钟。
📝

内容提要

PEP 794 提议在 Python 的核心元数据中增加一个名为 Import-Name 的字段,以记录项目安装后的导入名称,从而解决项目名称与导入名称不匹配的问题,提升工具推荐的准确性和用户体验。该字段将被添加到 pyproject.toml 的 [project] 表中,核心元数据版本更新至 2.5。

🎯

关键要点

  • PEP 794 提议在 Python 的核心元数据中增加 Import-Name 字段,以记录项目安装后的导入名称。
  • 该字段将解决项目名称与导入名称不匹配的问题,提升工具推荐的准确性和用户体验。
  • Import-Name 字段将被添加到 pyproject.toml 的 [project] 表中,核心元数据版本更新至 2.5。
  • 目前 Python 打包中没有要求项目名称与可导入名称匹配,导致工具无法准确推荐项目。
  • 此提议将允许项目所有者指定项目提供的最高级别导入名称,确保信息准确。
  • Import-Name 字段为可重复使用字段,必须与项目提供的所有 sdists 和 wheels 一致。
  • 项目所有者应提供准确的信息,并且不应过滤掉他们认为是私有的名称。
  • 工具在使用这些元数据时应将其视为潜在不准确,做出决策时需谨慎。
  • 项目所有者应被教育如何记录其项目提供的命名空间,用户不必了解这些新元数据的细节。
  • PEP 794 还拒绝了其他方案,如重新利用已弃用的 Provides 字段。

延伸问答

PEP 794 的主要目的是什么?

PEP 794 的主要目的是在 Python 的核心元数据中增加一个 Import-Name 字段,以记录项目安装后的导入名称,从而解决项目名称与导入名称不匹配的问题。

Import-Name 字段将如何影响 Python 包的使用?

Import-Name 字段将提升工具推荐的准确性,帮助用户更容易找到与导入名称匹配的项目,从而改善用户体验。

项目所有者在提供 Import-Name 信息时需要注意什么?

项目所有者必须提供准确的信息,并且不应过滤掉他们认为是私有的名称,以确保信息的完整性和准确性。

PEP 794 如何解决当前 Python 打包中的问题?

PEP 794 通过引入 Import-Name 字段,允许项目所有者明确指定项目的导入名称,从而解决项目名称与可导入名称不匹配的问题。

Import-Name 字段的格式是什么?

Import-Name 字段是一个可重复使用的字段,包含项目提供的可导入名称,必须与项目提供的所有 sdists 和 wheels 一致。

PEP 794 拒绝了哪些其他方案?

PEP 794 拒绝了重新利用已弃用的 Provides 字段等其他方案,因为这些方案无法准确提供项目的导入名称信息。

➡️

继续阅读