Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
64777ea
Culling packages
matthew-brett May 12, 2025
4074ed3
Remove Vista and MNE-specific GUI tests.
matthew-brett May 12, 2025
6ffc064
Extend import check to all specs.
matthew-brett May 13, 2025
caf8b90
Remove darkdetect and qdarkstyle
matthew-brett May 13, 2025
d7ae7f4
Update versions
matthew-brett May 13, 2025
ed89291
Ruff reformatting
matthew-brett May 13, 2025
5eb5055
update logos
drammock May 12, 2025
ad5883d
update copyright in license
drammock May 12, 2025
6e65f09
WIP: update readme (some URLs TBD)
drammock May 12, 2025
e443d1e
update post-install scripts
drammock May 12, 2025
e5e9ca3
update pre- and post-install dialog text
drammock May 12, 2025
a74b6ac
fix folder name and prompt
drammock May 13, 2025
b3e6af6
update env var names
drammock May 13, 2025
df26d05
mne- ==> scientific-
drammock May 13, 2025
a95a1ee
more mne->scientific; reset version to 0.1.0
drammock May 13, 2025
6c82ec8
update notebook test
drammock May 13, 2025
f5d1ed7
fix(?) workflow defs
drammock May 13, 2025
0cfed07
Start sp-installer-menu
matthew-brett May 13, 2025
11a1ee2
Remove some more packages
matthew-brett May 14, 2025
e31e566
A few more MNE_ references.
matthew-brett May 14, 2025
cd1a84a
Remove more uses of MNE, generalize name, var
matthew-brett May 14, 2025
b14450f
Do not use a missing png file.
matthew-brett May 14, 2025
78ae736
Hardcode name and version in construct.yaml
matthew-brett May 14, 2025
dbf063a
Remove reference to .app
matthew-brett May 14, 2025
3aee757
Remove as-yet-unbuilt package from environment.
matthew-brett May 14, 2025
41ce625
Generalize local channel
matthew-brett May 14, 2025
cc4cff0
Try plumbing package build into GHA
matthew-brett May 14, 2025
1935ff5
Make icons etc specific to scientific Python.
matthew-brett May 14, 2025
4949a73
"A lot of changes picked up here"
matthew-brett May 14, 2025
c80dd6e
All sorts of hard-won wisdom.
matthew-brett May 15, 2025
f2e5413
Try fixes to Jupyter path.
matthew-brett May 15, 2025
4c1922f
Try a more comprehensive clean.
matthew-brett May 16, 2025
80cdbd2
Build package in custom local directory.
matthew-brett May 19, 2025
2df35db
[autofix.ci] apply automated fixes
autofix-ci[bot] May 19, 2025
1c997e0
Replace uses of MNE in tools
matthew-brett May 19, 2025
9aafb61
Add back test for mac folder icon.
matthew-brett May 19, 2025
d0a16d1
Add back test for packages.
matthew-brett May 19, 2025
cbe1850
Remove QT check.
matthew-brett May 20, 2025
6408e2d
[autofix.ci] apply automated fixes
autofix-ci[bot] May 20, 2025
63ebdb2
Turn off code signing check for now.
matthew-brett May 20, 2025
980cd60
Change name of output directory for tests.
matthew-brett May 20, 2025
ea3b209
misc cleanups
drammock May 19, 2025
9bc9a7b
overhaul sysinfo script
drammock May 19, 2025
851e43e
ruff
drammock May 19, 2025
d0956a8
overhaul sysinfo script
drammock May 20, 2025
33daf04
cleanups
drammock May 20, 2025
859d33d
more cleanups
drammock May 20, 2025
a4f46c0
make Makefile platform-aware (WIP)
drammock May 20, 2025
3ef0a42
typo
drammock May 20, 2025
baa6d3b
clean thoroughly
drammock May 20, 2025
0417c41
Try some fixes to counts for Linux desktop
matthew-brett May 20, 2025
6dc2317
Fix quotes for macOS postinstall.
matthew-brett May 20, 2025
538c0e7
Remove set to default QT backend.
matthew-brett May 20, 2025
4f7a102
standardize names, fix URLs, remove generic launcher
drammock May 20, 2025
ea81bb7
add (and use) jupyter icons
drammock May 20, 2025
8aab8f2
fix one test
drammock May 20, 2025
4fe5b9b
Remove version from output directory.
matthew-brett May 21, 2025
63d5425
Move applications into Scientific-Python folder.
matthew-brett May 21, 2025
8cdb7fb
Copy Jupyter stuff into Menu folder.
matthew-brett May 21, 2025
32eb78d
Stop opening double terminals.
matthew-brett May 21, 2025
d25b51f
Attempt to fix test for apps in Application folder.
matthew-brett May 21, 2025
fd4cc04
[autofix.ci] apply automated fixes
autofix-ci[bot] May 21, 2025
3a6d5b3
Remove dev check (test removed a while ago).
matthew-brett May 21, 2025
b9e2385
fix another test
drammock May 21, 2025
c80e731
Move installation prefix.
matthew-brett May 21, 2025
53f7c38
Fixes for test_imports
matthew-brett May 21, 2025
c6d3362
Adapt GUI test.
matthew-brett May 21, 2025
efc3069
[autofix.ci] apply automated fixes
autofix-ci[bot] May 21, 2025
91e470a
Directly check package name rather than build number.
matthew-brett May 21, 2025
d84a006
Do no ask for sp-installer-menu build string.
matthew-brett May 21, 2025
1858f53
Fix for want_versions
matthew-brett May 21, 2025
da4f79c
Assert actual backend on Windows (QTAgg)
matthew-brett May 22, 2025
b0c6855
Revert "Stop opening double terminals."
matthew-brett May 22, 2025
fb8f0df
In fact Linux seems to use QTAgg, like Windows.
matthew-brett May 22, 2025
32f42b2
Move terminal-ness to platform specific parts.
matthew-brett May 22, 2025
7e40243
fix clean recipe on Linux
drammock May 22, 2025
0fd3594
WIP test fixes
drammock May 22, 2025
40b9963
Remove reference to MNE
matthew-brett May 22, 2025
91f21ea
Set Jupyter paths to avoid user's setup.
matthew-brett May 23, 2025
75352ae
Ignore ipynb_checkpoints
matthew-brett May 24, 2025
db4b841
Add use to license.
matthew-brett May 24, 2025
1d33a10
[autofix.ci] apply automated fixes
autofix-ci[bot] May 24, 2025
7ceb5a9
Slightly rewrite license.
matthew-brett May 24, 2025
47abb53
Make spi_sys_info executable.
matthew-brett May 24, 2025
f203422
Fix application directory opened by install.
matthew-brett May 24, 2025
f7b451a
Try enabling post-install sys-info.
matthew-brett May 24, 2025
5e05d23
Preserve permissions in copy
matthew-brett May 24, 2025
7e0d695
[autofix.ci] apply automated fixes
autofix-ci[bot] May 27, 2025
1c3bb07
Workaround for conda activation error.
matthew-brett May 28, 2025
aac7c8e
[autofix.ci] apply automated fixes
autofix-ci[bot] May 28, 2025
d6619e9
Refine, comment on and fix logic for .bat init
matthew-brett May 28, 2025
c605777
Refactor Windows prompt activation.
matthew-brett May 29, 2025
e237bf3
use stdout instead of browser for post-install sysinfo
drammock May 29, 2025
782690b
docstring lint; wording tweak
drammock May 29, 2025
78c320a
whitespace
drammock May 29, 2025
6dc0750
remove cruft comment
drammock May 29, 2025
72e4544
Update sp-installer-menu/LICENSE.txt
drammock May 29, 2025
0cf7452
[autofix.ci] apply automated fixes
autofix-ci[bot] May 29, 2025
be8494a
Update README.md
drammock May 29, 2025
1bd472d
remove no-test flag on menu package build
drammock May 29, 2025
8754bf5
update mac folder icon
drammock May 29, 2025
dfb6c62
comment out installer screenshot in README
drammock May 29, 2025
51cf331
make the "install" recipe platform-specific
drammock May 29, 2025
6a90ad2
change windows runners (2019 is almost EOL)
drammock May 30, 2025
6b104bc
restore --no-test flag on windows build
drammock May 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
159 changes: 28 additions & 131 deletions recipes/mne-python/construct.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,177 +51,74 @@ menu_packages:

channels:
- conda-forge
# TODO: ⛔️ ⛔️ ⛔️ DEV BUILDS START: COMMENT OUT BEFORE RELEASE! ⛔️ ⛔️ ⛔️
# - conda-forge/label/mne_dev
# - conda-forge/label/mne-bids_dev
# TODO: ⛔️ ⛔️ ⛔️ DEV BUILDS STOP: COMMENT OUT BEFORE RELEASE! ⛔️ ⛔️ ⛔️
specs:
# Python
- python =3.13.3 # [not (osx and arm64)]
- python =3.13.2 # [osx and arm64] # allow_outdated
- pip =25.1.1
- wheel =0.45.1
- conda =25.3.1
- mamba =2.1.0
# MNE ecosystem
# TODO: ⛔️ ⛔️ ⛔️ DEV BUILDS START: CHANGE BEFORE RELEASE! ⛔️ ⛔️ ⛔️
# - mne-base =1.4dev0=*_20230503
# - mne-installer-menus =1.4dev0=*_20230503
# - mne-bids =0.11dev0=*_20221007
# TODO: ⛔️ ⛔️ ⛔️ DEV BUILDS STOP: CHANGE BEFORE RELEASE! ⛔️ ⛔️ ⛔️
- mne =1.9.0=pyside6_*_100
- mne-installer-menus =1.9.0=*_100
# For testing purposes with build_local.sh, you can comment out all deps
# below for speed, and change mne to mne-base above

# vvv this line is special and used by MNE-Python, do not change it!
# <<< BEGIN RELATED SOFTWARE LIST >>>
- mne-bids =0.16.0
- mne-bids-pipeline =1.9.0
- mne-qt-browser =0.7.1
- mne-connectivity =0.7.0=*_1
- mne-faster =1.2.2
- mne-nirs =0.7.1
- mne-features =0.3
- mne-rsa =0.9.1
- mne-ari =0.1.2
- mne-icalabel =0.7.0
- mne-gui-addons =0.1=*_1
- mne-lsl =1.9.0
- mne-kit-gui =1.3.0
- autoreject =0.4.3
- antio =0.5.0
- wfdb =4.3.0
- meegkit =0.1.9
- eeg_positions =2.1.2
# MRI
- fsleyes =1.14.2
- dcm2niix =1.0.20241211
- dipy =1.11.0
# Time-frequency analysis
- pactools =0.3.1
- tensorpac =0.6.5
- emd =0.8.1
- neurodsp =2.3.0
- bycycle =1.1.0
- fooof =1.1.1
# Microstates
- mne-microstates =0.3.0
- pycrostates =0.6.1
# OpenNeuro.org data access
- openneuro-py =2024.2.0
# sleep staging
- sleepecg =0.5.9=*_2
- yasa =0.6.5
# various biological signals (ECG, EOG, EMG, …)
- neurokit2 =0.2.10
- mnelab =1.0.0
# other
- pyriemann =0.8
- pyprep =0.4.3=*_1
- python-picard =0.8
- pybv =0.7.6
- edfio =0.4.7 # allow_outdated, for some reason 0.4.8 won't download
- eeglabio =0.0.3
- mffpy =0.10.0
- openmeeg =2.5.15
- python-neo =0.14.1
- nitime =0.11
- snirf =0.8.0
- alphacsc =0.4.1
# Not on PyPI or no wheels on PyPI
# conpy: https://aaltoimaginglanguage.github.io/conpy/
# posthoc: https://users.aalto.fi/~vanvlm1/posthoc/python/
# eelbrain: https://eelbrain.readthedocs.io/en/stable/index.html
# Not on conda-forge
# niseq: https://github.com/john-veillette/niseq
# sesameeg: https://pybees.github.io/sesameeg
# invertmeeg: https://github.com/LukeTheHecker/invert
# Meggie: https://github.com/cibr-jyu/meggie
# MEM: https://github.com/multifunkim/best-python
# <<< END RELATED SOFTWARE LIST >>>
# ^^^ this line is special and used by MNE-Python, do not change it!

- antropy =0.1.9
- mayavi =4.8.2=pyside6_*
- traitsui =8.0.0
- pyface =8.0.0=*_1
- imageio-ffmpeg =0.6.0
- pandas =2.2.3
- polars =1.27.1
- mamba =2.1.1
# Scientific Python
- scipy =1.15.2
- numpy =2.1.3 # allow_outdated, each new version has to wait for numba
- openblas =0.3.28 # allow_outdated, NumPy etc. need to update
- libblas =3.9.0=*openblas
# Web
- requests =2.32.3
# Data science and statistics.
- pandas =2.2.3
- polars =1.29.0
- scikit-learn =1.6.1
- statsmodels =0.14.4
# https://pingouin-stats.org
- pingouin =0.5.5
# Jupyter
- jupyter =1.1.1
- jupyterlab =4.4.1
- nbclassic =1.3.1
- ipykernel =6.29.5
- spyder-kernels =3.0.3
# TODO: Needs to not require pyqt
# https://github.com/spyder-ide/spyder/issues/20201
# spyder =6.1.0
- darkdetect =0.8.0
- qdarkstyle =3.2.3
- numba =0.61.2
- cython =3.0.12
# I/O
- pyxdf =1.17.0
- openpyxl =3.1.5
- xlrd =2.0.1
# Statistics
- pingouin =0.5.5
# NeuroSpin needs the following
- questionary =2.1.0
- pqdm =0.2.0
- astropy =7.0.1
# https://github.com/Roche/pyreadstat
- pyreadstat =1.2.8
# Image processing
- scikit-image =0.25.2
- pillow =11.2.1
# Data
- pooch =1.8.2
# Symbolic math
- sympy =1.14.0
# Viz
# matplotilb is just matplotlib-base, tornado, and pyqt
# https://github.com/conda-forge/matplotlib-feedstock/blob/main/recipe/meta.yaml
- matplotlib-base =3.10.1
- matplotlib-base =3.10.3
- tornado =6.4.2
- pyside6 =6.8.2 # allow_outdated, PyVista (VTK 9.3.1) and Mayavi
Copy link
Member

Choose a reason for hiding this comment

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

Both VTK and Mayavi were removed as dependencies.

Suggested change
- pyside6 =6.8.2 # allow_outdated, PyVista (VTK 9.3.1) and Mayavi
- pyside6 =6.8.2

Copy link
Member

Choose a reason for hiding this comment

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

this probably means that we can/should bump the pin? I'm guessing that the comment is used in tests that check that the pins reflect the most current available version, so if we simply remove it without bumping the pin, it will cause a test failure.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I dropped Qt stuff completely - should it come back?

- qt6-main =6.8.2 # allow_outdated
- ipympl =0.9.7
- qtpy =2.4.3
- seaborn =0.13.2
- plotly =6.0.1
# PyVista doesn't yet support VTK 9.4
- vtk =9.3.1=qt* # allow_outdated
- ipywidgets =8.1.7
- pyvista =0.45.0
- pyvistaqt =0.11.2
- trame =3.9.0
- trame-vtk =2.8.15
- trame-vuetify =3.0.1
- termcolor =3.1.0
# https://github.com/tiran/defusedxml
- defusedxml =0.7.1
# Development
- gh =2.72.0
- setuptools_scm =8.3.1
- cython =3.1.0
- pytest =8.3.5
- pytest-cov =6.1.1
- pytest-qt =4.4.0
- pytest-timeout =2.3.1
- pytest-timeout =2.4.0
- pre-commit =4.2.0
- ruff =0.11.8
- uv =0.7.2
- check-manifest =0.50
- codespell =2.4.1
- py-spy =0.4.0
- line_profiler =4.2.0
- memory_profiler =0.61.0
- twine =6.1.0
- hatchling =1.27.0
- hatch-vcs =0.4.0
- mypy =1.15.0
- towncrier =24.8.0
- vulture =2.14
- ruff =0.11.9
- uv =0.7.3
# Doc building
- numpydoc =1.8.0
- pydata-sphinx-theme =0.16.1
- graphviz =12.2.1
- python-graphviz =0.20.3
- selenium =4.32.0
- sphinx =8.2.3
- sphinx-design =0.6.1
- sphinx-gallery =0.19.0
Expand Down
45 changes: 0 additions & 45 deletions tests/test_dev_installed.py

This file was deleted.

50 changes: 0 additions & 50 deletions tests/test_gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,10 @@

faulthandler.enable()

import os
from pathlib import Path

import numpy as np
import matplotlib.pyplot as plt
import pyvista

import mne

this_path = Path(__file__).parent

Expand All @@ -20,49 +16,3 @@
want = "QTAgg"
assert want in repr(fig.canvas), repr(fig.canvas)
plt.close("all")

# pyvistaqt
if os.getenv("SKIP_PYVISTAQT_TESTS", "").lower() in ("1", "true"):
print("Skipping PyVistaQt tests")
else:
print("Running pyvistaqt tests")
fname = this_path / "test.png"
mne.viz.set_3d_backend("pyvista")
fig = mne.viz.create_3d_figure((400, 400), scene=False, show=True)
fig._process_events()
fig._process_events()
plotter = fig.figure.plotter
plotter.add_orientation_widget(pyvista.Cube()) # Old test without color='b'
plotter.add_mesh(pyvista.Cube(), render=True)
if fname.is_file():
os.remove(fname)
assert not fname.is_file()
fig._process_events()
plotter.screenshot(fname)
assert fname.is_file()
os.remove(fname)
assert "BackgroundPlotter" in repr(plotter), repr(plotter)
mne.viz.close_3d_figure(fig)

# mne-qt-browser
print("Running mne-qt-browser tests")
mne.viz.set_browser_backend("qt")
raw = mne.io.RawArray(np.zeros((1, 1000)), mne.create_info(1, 1000.0, "eeg"))
fig = raw.plot()
fig.close()
assert "MNEQtBrowser" in repr(fig), repr(fig)

# mne-kit-gui
if os.getenv("SKIP_MNE_KIT_GUI_TESTS", "").lower() in ("1", "true"):
print("Skipping MNE-KIT-GUI tests")
else:
print("Running MNE-KIT-GUI tests")
from pyface.api import GUI # noqa
import mne_kit_gui # noqa

os.environ["_MNE_GUI_TESTING_MODE"] = "true"
gui = GUI()
gui.process_events()
ui, frame = mne_kit_gui.kit2fiff()
assert not frame.model.can_save
ui.dispose()
Loading
Loading