Skip to content

Fix CI editable-install (PEP 639); document dual-track SageMath/PyTorch testing - #2

Merged
ericrihm merged 1 commit into
mainfrom
fix/ci-packaging-and-test-docs
May 31, 2026
Merged

Fix CI editable-install (PEP 639); document dual-track SageMath/PyTorch testing#2
ericrihm merged 1 commit into
mainfrom
fix/ci-packaging-and-test-docs

Conversation

@ericrihm

Copy link
Copy Markdown
Owner

Make CI green again + document the dual-track testing

Fix: editable install fails under setuptools ≥ 77 (PEP 639)

Track B — and main — have been red since 2026-05-12, but not because of a
test: pip install -e ".[dev,ml]" errored before any test ran with

setuptools.errors.InvalidConfigError: License classifiers have been superseded
by license expressions (PEP 639). Please remove: License :: OSI Approved :: MIT License

pyproject.toml declared both the SPDX license = "MIT" expression and the
deprecated License :: classifier; newer setuptools rejects the combination.
This PR removes the classifier and bumps the build requirement to
setuptools>=77. Verified locally: the editable install now builds cleanly in a
fresh venv (the exact step that was failing).

Note: Track A (SageMath) was already passing, so the symbolic-side
correctness fixes from #1 are CI-verified. This unblocks Track B so the
discrete suite (which passes locally, 44 tests) runs in CI too.

Docs: a SageMath-on-CI recipe for learners

Adds a short README section explaining the two-track suite (symbolic SageMath via
micromamba/conda-forge, discrete PyTorch via pip) and the
micromamba run -n sage sage -python -m pytest pattern — getting SageMath into
GitHub Actions is a common stumbling block, and this repo is a working template.

…th/PyTorch testing

CI's Track B (and main, red since 2026-05-12) failed at `pip install -e .` with
setuptools >= 77 enforcing PEP 639: the project declared both a SPDX
`license = "MIT"` expression AND the deprecated `License :: OSI Approved ::
MIT License` classifier, which is now an error. Remove the classifier and bump
the build requirement to setuptools >= 77. Verified: editable install now
builds cleanly in a fresh venv (was the exact failing step).

Also adds a README section "How it's tested — and a SageMath-on-CI recipe you
can borrow": explains the two-track suite (symbolic SageMath via micromamba,
discrete PyTorch via pip) and shows the conda-forge + `sage -python -m pytest`
pattern, since getting SageMath into CI is a common stumbling block.
@ericrihm
ericrihm merged commit e4c5716 into main May 31, 2026
2 checks passed
@ericrihm
ericrihm deleted the fix/ci-packaging-and-test-docs branch May 31, 2026 18:14
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