Repository navigation
MAINT: Dependencies, CI (ruff pin, macOS, release tests) and dead code - #64
Merged
Merged
Conversation
- CI installs the same ruff version as pre-commit (0.17.1), so local formatting and the lint job cannot drift apart. - The docs workflow only cancels superseded pull request builds; a running deploy from main is no longer cancelled by the next push. - The release workflow runs the test suite before building and publishing. - Tests also run on macOS, which the classifiers list as supported.
- scipy and Pillow are imported directly but were only installed through other packages; they are now listed. - pandas was required but only used together with seaborn, which was in no extra, so that report code was never tested. seaborn (which brings pandas) is now the optional "report" extra and part of "test". - mne-denoise gets a floor of 0.0.2, the first version with ZapLine's n_select and the reworked adaptive mode; the minimum-versions CI job tests it. - nibabel, pybv and scikit-learn are commented as used through MNE. - The sdist now includes the tests and docs.
- viz.utils.clear_matplotlib_memory and make_report.DIPOLE_PLOT_N_JOBS were never used. - The report's private _glue_imgs duplicated viz.glue_imgs; the report now uses glue_imgs, which pads narrower images with white as the report version did. - preproc no longer exports the private _annotate_break_iter and _handle_trans. - The report's parallel-jobs variable is now PYBEMOBIL_REPORT_N_JOBS; BPN_REPORT_N_JOBS still works.
Only arrays and np.float32 were handled, so json.dump raised a TypeError for np.int64, np.bool_ and other numpy scalars (np.float64 worked only because it subclasses float). All numpy scalars are now converted with .item().
The display check looked for DISPLAY on every non-Windows system, which macOS does not set, so the plot was always skipped there. macOS is now treated like Windows, and on Linux a Wayland session (WAYLAND_DISPLAY) counts as a display too.
mne-denoise 0.0.2 requires Python 3.12 or newer, so the minimum-versions job (Python 3.11) could not install it. 0.0.3 has the same ZapLine API and supports Python 3.11; it is now the floor and the pinned minimum.
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.
MAINT: Pin ruff, protect Pages deploys, test before releasing, add macOS
formatting and the lint job cannot drift apart.
running deploy from main is no longer cancelled by the next push.
publishing.
MAINT: Declare the dependencies pybemobil actually uses
through other packages; they are now listed.
no extra, so that report code was never tested. seaborn (which brings
pandas) is now the optional "report" extra and part of "test".
n_select and the reworked adaptive mode; the minimum-versions CI job
tests it.
MAINT: Remove dead code and keep private names out of preproc.all
were never used.
now uses glue_imgs, which pads narrower images with white as the
report version did.
_handle_trans.
BPN_REPORT_N_JOBS still works.
FIX: Encode numpy integers and bools in NumpyEncoder
Only arrays and np.float32 were handled, so json.dump raised a TypeError
for np.int64, np.bool_ and other numpy scalars (np.float64 worked only
because it subclasses float). All numpy scalars are now converted with
.item().
FIX: Allow the 3-D co-registration plot in reports on macOS
The display check looked for DISPLAY on every non-Windows system, which
macOS does not set, so the plot was always skipped there. macOS is now
treated like Windows, and on Linux a Wayland session (WAYLAND_DISPLAY)
counts as a display too.