Repository navigation
Conversation
EKDIST was the last repository in the DCPROGS stack without CI. That mattered more once it stopped being self-contained: it now takes its log-binning from dcio, so a change over there can break it here and nothing would say so. dcio is not on PyPI, so every job installs it from git before installing EKDIST -- `pip install -e .` would otherwise fail on an unresolvable requirement. That step is the first thing to revisit when dcio is published. scipy was imported by ekplot, errors and exponentials and named in install_requires by none of them. An editable install into an environment that already has scipy cannot reveal that; only a clean one can, which is what the clean-install job is for. Declared it. Also declares python_requires='>=3.11'. setup.py named no floor, but dcio's requires-python sets one in practice, and an inherited constraint is better written down than discovered. Matrix covers 3.11-3.13 on Linux plus macOS and Windows. MPLBACKEND=Agg is set explicitly rather than left to backend autoselection, since ekplot imports matplotlib.pyplot at module level and the runners have no display. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
EKDIST was the last repository in the stack without CI. That mattered more once
it stopped being self-contained: it now takes its log-binning from dcio, so a
change over there can break it here and nothing would say so.
The dcio wrinkle
dcio is not on PyPI, so every job installs it from git before installing
EKDIST — otherwise
pip install -e .fails on an unresolvable requirement:That step is the first thing to revisit when dcio is published.
scipy was never declared
ekplot,errorsandexponentialsall import scipy.install_requiresnamed numpy and matplotlib only. An editable install into an environment that
already has scipy cannot reveal that — only a clean one can, which is what the
clean-installjob does: build into an empty virtualenv, then import everymodule from outside the source tree.
Declared it. Also added
python_requires='>=3.11'— setup.py named no floor,but dcio's
requires-pythonsets one in practice, and an inherited constraintis better written down than discovered.
Matrix
3.11 / 3.12 / 3.13 on Linux, plus macOS and Windows.
MPLBACKEND=Aggis setexplicitly rather than left to backend autoselection, since
ekplotimportsmatplotlib.pyplotat module level and the runners have no display.One extra gate: the record files are read by relative path from the repo
root (
"./tests/AChsim.scn"), so a step checks they are present before thesuite runs.
36 passing.
🤖 Generated with Claude Code