plone / plone/meta

SPDX licenses

Open
#276 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
6
Forks
7
Avg merge
2d 19h
Merged PRs (30d)
5

Description

We should probably start using the the SPDX license expressions in pyproject.toml files in Plone packages. This needs setuptools 77 or higher, at least when creating the source dist or wheel.

  • But pyroma fails on this
  • A package with such a license expression requires setuptools>=77 in the build-system, otherwise you get an error when building the sdist or wheel.
  • Can you then actually install such source dist or wheel with an older setuptools? Yes, that part at least seems to work. In a virtualenv with an older setuptools, I can call bin/pip install --no-build-isolation and still install a source dist or wheel that has an SPDX license expression.
  • I just realised: the SPDX license expressions are only a thing in pyproject.toml. If all your package data is still defined in setup.py, you can put whatever you want in the license keyword.

Some links:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Plone package pyproject.toml files that define license metadata, then read the Packaging guide, PEP 639, and the setuptools configuration notes linked in the issue. Check source distribution and wheel builds with setuptools 77 or newer, installation with older setuptools, and the reported pyroma failure. Done means the affected packages consistently use SPDX expressions without breaking these checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.