PEP 639: Further update per discussion, w/flat license key, etc.#2705
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
At long last, the next (and hopefully final) round of substantive PEP 639 (PEP-639) updates has arrived, based on the consensus of recent (and by now, not so recent) community discussions.
See the preview here
I was initially going to make the Terminology section into a Sphinx
glossaryand link the terms on first and prominient uses for clarity, but to speed things up and avoid scope creep I've deferred that to an immediate followup.In a final followup PR, I'll reduce the length of the PEP by a further ≈two thirds (on top of substantial earlier reductions and modest further trimming here) by moving all the appendices, the "Mapping License Classifiers to SPDX Identifiers" section (previously normative) and the full rejected ideas section (minus a concise summary of the most-discussed ones) to separate ancillary files linked from the appropriate places. Since I've already set the stage for that with the work in #2531, it should be a fairly straightforward and mostly mechanical change once this PR is editorially reviewed and merged.
Substantive content changes:
license-expressionkey for the license expression in the[project]table of thepyproject.tomlsource metadata, the PEP now specifies using the top-level string value of thelicensekey for this purpose, which PEP 621 (PEP-621) reserved it for, and updates thelicense-expressionandlicensekey specs, and the examples, rejected ideas and other sections accordingly.licensekey to the newLicense-Expressionfield at build time, and that's not really advisable anyway, it drastically simplifies the normative Converting Legacy Metadata section to just a single normative statement, and updates/removes other mentions of it accordingly, and the (already rather unhelpful) examplelicense_filesdirectory was renamed tolicensesat the request of @brettcannon and to simplify things a touchlicense.filekey was a bit confused by a (apparently quite common) misunderstanding about how the specified file is used (to inject its text directly under theLicensefield in core metadata, rather than included in distribution archives or its path specified in metadata) due to it being rather underspecified in PEP 621, which this revision corrects.Significant non-normative/editorial changes: