Skip to content

chore(hygiene): PEP 639 license standardization, Python 3.13 CI matrix & contract tests - #5

Open
lukisch wants to merge 1 commit into
masterfrom
chore/hygiene-pep639-cimatrix-20261101
Open

lukisch wants to merge 1 commit into
masterfrom
chore/hygiene-pep639-cimatrix-20261101

Conversation

@lukisch

@lukisch lukisch commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator

Zusammenfassung / Summary

1. PEP 639 Lizenz-Spezifikation (pyproject.toml)

  • Migration von license = { text = "MIT" } auf den kanonischen PEP 639 SPDX-String license = "MIT".
  • Entfernung des veralteten Trove-Classifiers "License :: OSI Approved :: MIT License" aus classifiers.
  • Behebt strikte Fail-Closed Validierungsfehler (ValueError: invalid pyproject.toml config: project.license) unter modernen Setuptools-Versionen (>=82.0).

2. CI-Matrix-Härtung (.github/workflows/tests.yml)

  • Python-Testmatrix um "3.13" erweitert zur Sicherung der Vorwärtskompatibilität über die gesamte Python 3.10–3.13 Matrix.

3. Automatisierte Vertragstest-Erweiterung (tests/test_metadata.py)

  • Neuer hermetischer Vertragstest test_pep_639_license_specification verankert die PEP-639-Konformität und das Classifier-Verbot.
  • test_ci_workflow_integrity um Python 3.13 Matrix-Prüfung in tests.yml erweitert.

4. Release Notes (CHANGELOG.md)

  • Dokumentation aller Änderungen unter ## [Unreleased].
  • Version 3.2.0 bleibt strikt unverändert gemäß T-20260920-167562623 (kein Versions-Bump in Pfad-A-Läufen).

Verifikation

  • pytest: 249 passed, 3 skipped (100% grün).
  • ruff check: sauber (0 Fehler).
  • python -m compileall: sauber (0 Fehler).
  • git diff --check: sauber (0 Whitespace-Fehler).
  • git diff -G"version = ": verifiziert 0 Version-Modifikationen.
  • lint_mermaid.py: 0 Syntaxfehler.

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown

Welcome! 👋 Thanks for your first pull request in this repository.

A maintainer will review it soon. Please make sure:

  • Your changes are tested
  • Documentation is updated if needed
  • The PR description explains what and why

Thanks for contributing!

@lukisch lukisch left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zweitreview (Cloud-Bot): inhaltlich in Ordnung, aber derzeit nicht mergebar.

Geprüft: vollständiger Diff (4 Dateien).

P1 – Merge-Konflikt: mergeable_state: dirty. master ist seit dem 01.11. drei Commits weiter (5c7d61c, 0afa1bd, d32b30c); der einzige Konflikt liegt in CHANGELOG.md unter ## [Unreleased] (lokal mit git merge-tree nachvollzogen). Die übrigen drei Dateien mergen sauber. Der Branch braucht einen Rebase mit Zusammenführung der beiden Changelog-Blöcke.

P2 – pyproject.toml, [build-system]: requires = ["setuptools>=61.0"] passt nicht zum Inhalt. Der SPDX-String license = "MIT" und license-files setzen setuptools ≥ 77.0.3 voraus. Vorschlag: Untergrenze im selben PR anheben.

Zur Sache: Die Umstellung ist richtig. master kombiniert aktuell license = { text = "MIT" } mit license-files; PEP 639 verlangt dafür einen Fehler, den aktuelle setuptools-Versionen auch auslösen. Der Python-3.13-Eintrag ist mit PySide6>=6.5.0,<6.12 vereinbar.

Die CI-Ergebnisse stammen vom Stand 01.11. und sagen nach dem Rebase nichts mehr aus. Gemergt habe ich nichts.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant