-
-
Notifications
You must be signed in to change notification settings - Fork 88
Labels
Milestone
Description
Is your feature request related to a problem? Please describe.
we have an implementation/detection for PEP-639 in the python environment analyzer.
it is disabled per default, can be enabled via CLI switch --PEP-639 - since the PEP was in draft mode, when it was first implemented here.
PEP-639 is going to be final, soon. see python/peps#4227
this means, it can be enabled, per default. 🥳
Describe the solution you'd like
- revisit the existing test bed
tests/_data/infiles/environment/with-license-pep639and make it adhere the PEP - finalize the implementation of PEP-639 - for
pyproject.tomland for installed packages/environment - be graceful when ingesting data - dont throw errors, but warnings!
- enable the license-id/-expression behavior per default
- have the license text gathering (metadata
License-File, pyprojectlicense-file) disabled per default, but can be enabled as part of existing CLI switch--gather-license-texts - remove the CLI switch
--PEP-639
With Core Metadata 2.4 a new field, License-Expression, has been added. If it's present, favor it over the deprecated (with PEP 639) legacy unstructured License field.
This means: if --gather-license-texts is enabled
- if PEP 639 is in effect, no other license sources should be taken into account.
- license files from the
pyproject.tomlare analyzed as defined per PEP 639 (for all subcommands, not onlyenvsources.)
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
PEP-369: https://peps.python.org/pep-0639/
see also: #575
Contribution
- I am willing to provide an implementation
- I will wait until somebody else implements it
hakandilek