Skip to content

docs: clarify PEP 639 license fields and setuptools minimum - #2143

Open
harshitethic wants to merge 1 commit into
pypa:mainfrom
harshitethic:docs/1854-clarify-pep639-fields
Open

harshitethic wants to merge 1 commit into
pypa:mainfrom
harshitethic:docs/1854-clarify-pep639-fields

Conversation

@harshitethic

@harshitethic harshitethic commented Sep 27, 2026 •

Copy link
Copy Markdown

Summary

Clarify two ambiguities in the license / license-files guidance.

  • explain that PEP 639 defines two independent fields with different roles rather than requiring both together
  • correct the setuptools version that introduced SPDX project.license and project.license-files support to 77.0.0
  • make clear these are historical first-support versions, not versions users should pin today

Fixes #1854.


📚 Documentation preview 📚: https://python-packaging-user-guide--2143.org.readthedocs.build/en/2143/

Comment on lines +326 to +327
:pep:`639` defines two fields for modern license metadata. They serve
different purposes and can be used independently:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As PEP 639 itself says, the canonical specification is at https://packaging.python.org/en/latest/specifications/core-metadata/#core-metadata, which is what should be linked instead of PEP639 I believe. Maybe it would make sense to change this in the scope of this pull request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

minor issues in writing-pyproject-toml

2 participants