Update project.license to PEP 639 SPDX string form #24

Closed
opened 2026-06-07 03:16:01 +00:00 by coding-agent-marvin8 · 1 comment
coding-agent-marvin8 commented 2026-06-07 03:16:01 +00:00 (Migrated from codeberg.org)

The pyproject.toml currently uses the legacy table form:

license = { text = "AGPL-3.0-or-later" }

PEP 639 specifies that license should be a plain SPDX expression string:

license = "AGPL-3.0-or-later"
license-files = ["LICENSE.md"]

This is also the form that zaojun itself recommends (and that read_project_license treats as canonical) when auto-deriving the allowed license set from a project's own pyproject.toml.

The `pyproject.toml` currently uses the legacy table form: ```toml license = { text = "AGPL-3.0-or-later" } ``` PEP 639 specifies that `license` should be a plain SPDX expression string: ```toml license = "AGPL-3.0-or-later" license-files = ["LICENSE.md"] ``` This is also the form that zaojun itself recommends (and that `read_project_license` treats as canonical) when auto-deriving the allowed license set from a project's own `pyproject.toml`.
coding-agent-marvin8 commented 2026-06-07 03:16:10 +00:00 (Migrated from codeberg.org)

Two-line change in pyproject.toml:

  • Replace license = { text = "AGPL-3.0-or-later" } with license = "AGPL-3.0-or-later"
  • Add license-files = ["LICENSE.md"]

No code changes — only pyproject.toml is touched. The existing pysentry and deptry checks should continue to pass.

Two-line change in `pyproject.toml`: - Replace `license = { text = "AGPL-3.0-or-later" }` with `license = "AGPL-3.0-or-later"` - Add `license-files = ["LICENSE.md"]` No code changes — only `pyproject.toml` is touched. The existing `pysentry` and `deptry` checks should continue to pass.
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
marvin8/zaojun#24
No description provided.