Commit Graph

14 Commits

Author SHA1 Message Date
CAM Gerlach d31806fe1e
PEP 639: Further update per discussion, w/flat license key, etc. (#2705)
Substantive content changes:

* Instead of adding a new top-level `license-expression` key for the license expression in the `[project]` table of the `pyproject.toml` source metadata, the PEP now specifies using the top-level string value of the `license` key for this purpose, which PEP 621 (PEP-621) reserved it for, and updates the `license-expression` and `license` key specs, and the examples, rejected ideas and other sections accordingly.
* Since this makes it not possible to convert a legacy `license` key to the new `License-Expression` field 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) example
* Likewise, it simplifies and refines the guidance in the Mapping classifiers to SPDX identifiers section to be more general and less focused on build time, and also allows tools to ignore redundant parent classifiers (Note: This section will be moved to an external appendix in the next PR, but I didn't move it here for ease of review)
* The `license_files` directory was renamed to `licenses` at the request of @brettcannon and to simplify things a touch
* The specified handling of the `license.file` key was a bit confused by a (apparently quite common) misunderstanding about how the specified file is used (to inject its text directly under the `License` field 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.
* Bump the core metadata version to reflect acceptance of PEP 685 as Metadata 2.3
* Bump the SPDX license list version to be up to date

Significant non-normative/editorial changes:

* Mention implementation of drafts of this PEP in Hatch and Setuptools, and also describes previous efforts in Setuptools and Wheel that this PEP builds on more clearly, as suggested on the discussion thread
* Reference the canonical project [source] metadata PyPA spec instead of PEP 621, use clearer language surrounding that, and update a few references to other PEPs
* Revise the Motivations and Rationale to be less duplicative/redundant, more balanced and focused more specifically on their respective areas (providing some background and describing the problem, and introducing and justifying the proposed solution, respectively)
* Add a short blurb making explicit the use of RFC 2119 terminology (MUST, SHOULD, etc)
* Update PEP headers
* Various other minor revisions to correct typos and other issues, clarify and simply the text, and improve source formatting.
2022-08-02 22:43:25 -05:00
Adam Turner 19f2582774
Several PEPs: Add `Topic: Packaging` (#2636) 2022-06-14 14:22:20 -07:00
CAM Gerlach 5949604187
PEP 639: Update header, footer, link, reference and code block syntax (#2531)
* PEP 639: Update header and footer in line with new PEP 1/12 guidance

* PEP 639: Update implict references to use ref role

* PEP 639: Remove spurious # from link targets and make anonymous

* PEP 639: Format code blocks with appropriate syntax highlighting
2022-04-19 02:26:30 -05:00
CAM Gerlach 670de668d4
PEP 639: Clarify License-File field, slim down terminology & remove future PEPs (#2298)
* PEP 639: Remove speculative future PEPs section and cut down terminology

* PEP 639: Clarify intended role of License-File field in other formats

* PEP 639: Move User Scenarios to an appendix and de-number

* PEP 639: Apply suggestions from Adam's reivew and other refinements
2022-02-03 17:16:44 -06:00
Adam Turner 113e490701
Several PEPs: Use explicit `:pep:` and `:rfc:` roles (#2209) 2022-01-21 11:03:51 +00:00
CAM Gerlach 6c7fa9746f
PEP 639: Update PEP delegate, post history and CODEOWNERS (GH-2228) 2022-01-20 08:04:25 +00:00
Shantanu ace871d870
Various PEPs: fix typos (GH-2211)
Co-authored-by: hauntsaninja <>
2022-01-03 21:01:23 -08:00
CAM Gerlach 80e009085f
PEP 639: Make requested additions and changes, add additional helpful info, reformat, update and copyedit (#2164)
* PEP 639: Reframe core metadata update as discrete proposal per PEP 643

* PEP 639: Clean up formatting, syntax, spelling, headers and lists

* PEP 639: Rewrite to reflect License-Expression field and depr process

* PEP 639: Update examples, current tools survey, links and more

* PEP 639: Add PEP 621, expand/move examples & reorganize/shorten headings

* PEP 639: Further specify and clarify license file handling

* PEP 639: Add additional ambigous classifiers and tool recommendations

* PEP 639: Rework PEP 621 keys, refine dynamic/globs & add rejected ideas

* PEP 639: Specify license path root & subdirs, & expand examples

* PEP 639: Add license_files dir, rejected ideas & sdist/wheel/installed

* PEP 639: Add PyPI validation of new fields for newly-uploaded files

* PEP 639: Add open isssue for back-filling & reject per-dist licenses

* PEP 639: Add User Scenarios to provide guidance for common use cases

* PEP 639: Update Abstract, Goals, Rationale, Compat. & other sections

* PEP 639: Add terminology section & use consistant, clear & correct terms

* PEP 639: Make refs inline per #2130, add links, fix others & refine text

* PEP 639: Copyedit and proofread for grammar, phrasing, clarity & tone

* PEP 639: Address reviewer and community feedback

* PEP 639: Add custom IDs issue & clarify rejected license key str value
2021-12-17 15:20:01 -08:00
Hugo van Kemenade a2890cf4bc
PEP 621, 635, 637, 639, 642, 644, 645, 647, 650: Fix single backticks (#1797) 2021-02-05 08:09:26 -08:00
Marti Raudsepp 9b64c6ea75
Various typo/grammar/style fixes (#1789)
Changes detected by Topy (https://github.com/intgr/topy), all changes
verified by hand, false positives have been omitted.

These range from straight-out misspellings to debatable hyphen placement.
The hyphen changes are supported by grammar manuals of style.
2021-02-03 06:06:23 -08:00
Kevin P. Fleming faf6247812
PEP 639: Changes for clarity and consistency (#1780) 2021-02-02 12:58:38 -08:00
Philippe Ombredanne be94151aaf
PEP 639: Minor typo fixes (#1656) 2020-10-16 12:39:49 -07:00
Dustin Ingram 4bd3577610
PEP 639: edits from review (#1628)
* Fix monospaces

* The 'license expression' term shouldn't be monospaced/capitalized

* Rephrasing

* Fix capitalization of titles

* Make it clear when we're talking about the Classifiers field vs classifiers

* More monospace fixes

* Edits for clarity

* Fix 'License ::' prefix

* Update link

* More tweaks for clarity

* Fix broken ref

Co-authored-by: Philippe Ombredanne <pombredanne@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2020-09-30 16:13:58 +02:00
Philippe Ombredanne fa61557ccc
PEP 639: Use SPDX license expressions in Core package metadata (#1625)
* Add PEP draft for SPDX license expressions

Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Add reference to another license-related ticket

https://github.com/pypa/packaging-problems/issues/41

Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Add proper Draft status

Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Direct PEP discussions to discuss.python.org

Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Adopt latest PEP copyright conventions

Reported-by: Aliaksei Urbanski @Jamim
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Add @pf_moore as BDFL delegate.

And fix minor typo

Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Add Paul Moore as a PEP sponsor

CC: @pfmoore
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Reuse License Field. Add License-File.

Do not deprecate the License field with a new field. Instead reuse
License and provide backward compatibility.

Also add License-File field already in use in wheel and setuptools.

Integrates latest feedback

Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Add packaging license metadata survey sections

Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Add poetry and flit references

CC: @takluyver and @sdispater
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Fix typo

Reported-by: Pradyun Gedam @pradyunsg
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

Co-Authored-By: Pradyun Gedam <pradyunsg@gmail.com>

* Fix typo and improve subtitle

Reported-by: Pradyun Gedam <pradyunsg@gmail.com>
Co-Authored-By: Pradyun Gedam <pradyunsg@gmail.com>
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Fix typo

Reported-by: Pradyun Gedam <pradyunsg@gmail.com>
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

Co-Authored-By: Pradyun Gedam <pradyunsg@gmail.com>

* Fix typo

Reported-by: Pradyun Gedam <pradyunsg@gmail.com>
Co-Authored-By: Pradyun Gedam <pradyunsg@gmail.com>
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Use appendix and use footnotes for links

Also improve formatting

Reported-by: Pradyun Gedam @pradyunsg
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Add new sections and improve existing sections

- Refactor intro with new and improved abstract, scope, non-scope,
motivation and rationale sections
- Add new Backwards Compatibility, Security and How to Teach sections
- Move Reference Implementation out of appendix as its own section
- Add new Rejected ideas section
- Add new License Expression example using setuptools in Appendix

Reported-by: Chris Jerdonek @cjerdonek
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Fix typo

Reported-By: Pradyun Gedam <pradyunsg@gmail.com>
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

Co-Authored-By: Pradyun Gedam <pradyunsg@gmail.com>

* Fix typo

Reported-By: Pradyun Gedam <pradyunsg@gmail.com>
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

Co-Authored-By: Pradyun Gedam <pradyunsg@gmail.com>

* Improve presentation

Reported-By: Pradyun Gedam <pradyunsg@gmail.com>
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

Co-Authored-By: Pradyun Gedam <pradyunsg@gmail.com>

* Improve style

Reported-By: Pradyun Gedam <pradyunsg@gmail.com>
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

Co-Authored-By: Pradyun Gedam <pradyunsg@gmail.com>

* Move setuptools and wheel notes on license-file out

Reported-by: Nick Coghlan @ncoghlan
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Clarify and discourage use of public domain

Reported-by: Nick Coghlan @ncoghlan
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Fix typo

Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Fix typos and clarify multi classifiers migrations

Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Report warning for expression case

The case does nt matter, but there is a canonical case: if the case
is the not the standard canonical case, tools should issue a warning.

Reported-by: Oleg Grenrus @phadej
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Use deprecated not obsolete per SPDX

Reported-by: Oleg Grenrus @phadej
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Correct Cabal that uses SPDX expressions

Cabal uses both expressions and license files as proposed in this PEP

Reported-by: Oleg Grenrus @phadej
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Fix typo

Reported-by: Oleg Grenrus @phadej
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Use LicenseRef- prefix for non-standard SPDX ids

This help endsure that the expressions is fully parseable by a
conforming license expression processor

Reported-by: Oleg Grenrus @phadej
Reported-by: Nick Coghlan @ncoghlan
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Fix typos.

Reporte-by: Cyril Roelandt <tipecaml@gmail.com>
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Fix typo and add BSD* distributions reference


Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Fix typo and improve grammar


Reported-by: Nick Coghlan @ncoghlan
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Copy Edits for initial sections

* Reword a paragraph

* Update pep-9999.rst

* Fix typo


Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Remove erroneous leading spaces

Reported-by: Pradyun Gedam @pradyunsg
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

Co-authored-by: Pradyun Gedam <pradyunsg@gmail.com>

* Update SPDX license list and spec versions

Use latest SPDX spec 2.2 and SPDX license list 3.10

Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Fix typos and formatting

Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Clarify License file path definition

Reported-by: Miro Hrončok @hroncok
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Use permalink for discussion link

Reported-by: Tzu-ping Chung @uranusjr
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

* Assign number as PEP-0639

Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>

Co-authored-by: Pradyun Gedam <pradyunsg@gmail.com>
2020-09-28 17:58:34 +10:00