Skip to content

client: fix Python 3.14 build (PEP 639 license classifier)#5

Open
jusii wants to merge 2 commits into
tbdye:mainfrom
jusii:fix/python-3.14-build
Open

client: fix Python 3.14 build (PEP 639 license classifier)#5
jusii wants to merge 2 commits into
tbdye:mainfrom
jusii:fix/python-3.14-build

Conversation

@jusii

@jusii jusii commented May 18, 2026

Copy link
Copy Markdown

Summary

  • pip install / pipx install of the Python client currently fails on Python 3.14 because recent setuptools enforces PEP 639: a SPDX license = "GPL-3.0-only" expression and the legacy License :: OSI Approved :: ... classifier cannot coexist. Drop the now-redundant classifier — the SPDX expression already conveys the license.
  • Add build/ to .gitignore. setuptools writes a build/ tree into the source dir when building a wheel from source (e.g. pip install -e client/, pipx install ./client). Sibling artifacts (__pycache__/, *.egg-info/) are already ignored — this rounds out the set.

Repro of the original failure

$ pipx install ./client
...
setuptools.errors.InvalidConfigError: License classifiers have been superseded
by license expressions (see https://peps.python.org/pep-0639/). Please remove:

License :: OSI Approved :: GNU General Public License v3 (GPLv3)

Test plan

  • pipx install ./client succeeds on Python 3.14
  • pip install -e client/ still works on older Python (≥3.8 per requires-python)
  • Installed amigactl console script runs (amigactl --help)

jusii added 2 commits May 18, 2026 18:02
PEP 639 / recent setuptools rejects the legacy
`License :: OSI Approved :: GNU General Public License v3 (GPLv3)`
classifier when a SPDX `license = "GPL-3.0-only"` expression is
present. This currently breaks `pip install` / `pipx install` of
the client on Python 3.14.

The SPDX expression already conveys the license, so the classifier
is redundant — drop it to unblock the build on modern toolchains.
setuptools writes a `build/` tree into the source dir when building
a wheel from source (e.g. via `pip install -e` or `pipx install`).
Sibling Python artifacts (`__pycache__/`, `*.egg-info/`) are already
ignored — add `build/` to round out the set.
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