Skip to content

feat: finalize and enable PEP-639 der default #843

Open
@jkowalleck

Description

@jkowalleck

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

  1. finalize the implementation of PEP-639 - for pyproject.toml and for installed packages/environment
  2. enable the license-id/-expression behavior per default
  3. have the license text gathering (metadata License-File, pyproject license-file) disabled per default, but can be enabled as part of existing CLI switch --gather-license-texts
  4. 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.toml are analyzed as defined per PEP 639 (for all subcommands, not only env sources.)

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions