Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: Add Spyder #330

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,8 @@ jobs:
qt: true
pyvista: false
wm: false
- run: HOMEBREW_NO_AUTO_UPDATE=1 brew install coreutils
name: Get timeout utility
- run: ./tools/check_installation.sh

test_linux:
Expand Down
19 changes: 10 additions & 9 deletions recipes/mne-python/construct.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,10 @@ channels:
specs:
# Python
- python =3.12.7 # allow_outdated, vtk
- pip =25.0
- pip =25.0.1
- wheel =0.45.1
- conda =25.1.1
- mamba =2.0.6
- mamba =2.0.5
# MNE ecosystem
# TODO: ⛔️ ⛔️ ⛔️ DEV BUILDS START: CHANGE BEFORE RELEASE! ⛔️ ⛔️ ⛔️
# - mne-base =1.4dev0=*_20230503
Expand All @@ -79,7 +79,7 @@ specs:
- mne-bids-pipeline =1.9.0
- mne-qt-browser =0.6.3
- mne-connectivity =0.7.0=*_1
- mne-faster =1.2
- mne-faster =1.2.1
- mne-nirs =0.7.1
- mne-features =0.3
- mne-rsa =0.9.1
Expand Down Expand Up @@ -130,21 +130,22 @@ specs:
# <<< END RELATED SOFTWARE LIST >>>
# ^^^ this line is special and used by MNE-Python, do not change it!

- spyder-base =6.0.4
- 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.21.0
- polars =1.22.0
- scipy =1.15.1
- numpy =2.1.3 # allow_outdated, each new version has to wait for numba
- openblas =0.3.28
- libblas =3.9.0=*openblas
- jupyter =1.1.1
- jupyterlab =4.3.5
- ipykernel =6.29.5
- spyder-kernels =3.0.2
- spyder-kernels =3.0.3
# TODO: Needs to not require pyqt
# https://github.com/spyder-ide/spyder/issues/20201
# spyder =6.1.0
Expand All @@ -161,7 +162,7 @@ specs:
# NeuroSpin needs the following
- questionary =2.1.0
- pqdm =0.2.0
- astropy =7.0.0
- astropy =7.0.1
# Viz
# matplotilb is just matplotlib-base, tornado, and pyqt
# https://github.com/conda-forge/matplotlib-feedstock/blob/main/recipe/meta.yaml
Expand All @@ -178,7 +179,7 @@ specs:
- pyvista =0.44.2
- pyvistaqt =0.11.1
- trame =3.8.0
- trame-vtk =2.8.14
- trame-vtk =2.8.15
- trame-vuetify =2.8.1
- termcolor =2.5.0
- defusedxml =0.7.1
Expand All @@ -190,8 +191,8 @@ specs:
- pytest-qt =4.4.0
- pytest-timeout =2.3.1
- pre-commit =4.1.0
- ruff =0.9.4
- uv =0.5.28
- ruff =0.9.6
- uv =0.5.29
- check-manifest =0.50
- codespell =2.4.1
- py-spy =0.4.0
Expand Down
3 changes: 3 additions & 0 deletions tests/test_imports.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ def check_version_eq(package, ver):
mods += """
darkdetect qdarkstyle numba openpyxl xlrd pingouin questionary
seaborn plotly pqdm pyvistaqt vtk PySide6 PySide6.QtCore matplotlib matplotlib.pyplot
spyder spyder-kernels
""".strip().split()
if platform.system() == "Darwin":
mods += ["Foundation"] # pyobjc
Expand All @@ -64,6 +65,8 @@ def check_version_eq(package, ver):
"mne-ari", # https://github.com/john-veillette/mne-ari/pull/7
"pactools", # https://github.com/pactools/pactools/pull/37
"Foundation",
"spyder",
"spyder-kernels",
}
mod_map = { # for import test, need map from conda-forge line/name to importable name
"python-neo": "neo",
Expand Down
2 changes: 2 additions & 0 deletions tests/test_outdated.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@ def get_conda_json(package):
continue
elif "main" not in file["labels"]:
continue
elif ".rc" in file["version"]:
continue
else:
version = file["version"]
break
Expand Down
15 changes: 15 additions & 0 deletions tests/test_spyder.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash

set -o pipefail

TO=20s
echo "Running Spyder with a timeout of $TO:"
echo "which spyder: $(which spyder)"
timeout $TO spyder
RESULT=$?
if [[ $RESULT -eq 124 ]]; then
echo "Spyder succeeded with timeout"
else
echo "Spyder failed with error code $RESULT (should be 124 for timeout)"
exit 1
fi
4 changes: 4 additions & 0 deletions tools/check_installation.sh
Original file line number Diff line number Diff line change
Expand Up @@ -113,3 +113,7 @@ echo "::endgroup::"
echo "::group::Checking that all packages are installed that MNE-Python devs would need"
python -u tests/test_dev_installed.py
echo "::endgroup::"

echo "::group::Checking Spyder"
bash tests/test_spyder.sh
echo "::endgroup::"
Loading