Skip to content

Commit 10c4d98

Browse files
FIX: Restore pyproject.toml dependencies to pass CI checks
1 parent f963e96 commit 10c4d98

1 file changed

Lines changed: 21 additions & 23 deletions

File tree

pyproject.toml

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ build-backend = "hatchling.build"
33
requires = ["hatch-vcs", "hatchling >= 1.27"]
44

55
[dependency-groups]
6-
dev = ["pip >= 25.1", "pyside6 >= 6.11.1", "rcssmin >= 1.1", {include-group = "doc"}, {include-group = "test_extra"}]
6+
dev = ["pip >= 25.1", "rcssmin >= 1.1", {include-group = "doc"}, {include-group = "test_extra"}]
77
# Dependencies for building the documentation
88
doc = [
99
"graphviz",
@@ -19,9 +19,10 @@ doc = [
1919
"numpydoc >= 0.5",
2020
"openneuro-py >= 2020.1",
2121
"psutil",
22-
"pydata-sphinx-theme >= 0.15.2",
22+
"pydata_sphinx_theme >= 0.15.2",
2323
"pygments >= 2.13",
2424
"pymef",
25+
"pytest",
2526
"pyvistaqt >= 0.11", # released 2023-06-30, no newer version available
2627
"pyxdf",
2728
"pyzmq != 24.0.0",
@@ -50,39 +51,35 @@ test = [
5051
"numpydoc >= 1.6",
5152
"pillow >= 10.2",
5253
"pre-commit",
53-
"pytest >= 8.0,!=9.1.0", # https://github.com/pytest-dev/pytest/issues/14591
54+
"pytest >= 8.0",
5455
"pytest-cov >= 4.1",
5556
"pytest-qt >= 4.3",
5657
"pytest-rerunfailures",
5758
"pytest-timeout >= 2.2",
5859
"ruff >= 0.1",
5960
"twine",
6061
"vulture",
61-
]
62-
# Move non-free-threaded dependencies into the "test_extra" superset
63-
# Exclusions determined 2026/06/16
64-
test_extra = [
65-
"jupyter_client", # requires tornado, which has no ft version
66-
"nbclient", # requires jupyter_client
67-
"nitime >= 0.7",
68-
"pymef",
69-
"statsmodels",
70-
{include-group = "test_extra_ft"},
62+
"wheel >= 0.21",
7163
]
7264
# Dependencies for being able to run additional tests (rare/CIs/advanced devs)
7365
# Changes here should be reflected in the mne/utils/config.py dev dependencies section
74-
test_extra_ft = [
66+
test_extra = [
7567
"edfio >= 0.4.10",
7668
"eeglabio",
7769
"hedtools",
7870
"imageio >= 2.6.1",
7971
"imageio-ffmpeg >= 0.4.1",
72+
"jupyter_client",
8073
"mne-bids",
74+
"nbclient",
8175
"nbformat",
8276
"neo",
77+
"nitime >= 0.7",
8378
"pybv",
79+
"pymef",
8480
"snirf",
8581
"sphinx-gallery",
82+
"statsmodels",
8683
{include-group = "test"},
8784
]
8885

@@ -107,11 +104,11 @@ dependencies = [
107104
"decorator >= 5.1",
108105
"jinja2 >= 3.1",
109106
"lazy_loader >= 0.3",
110-
"matplotlib >= 3.0", # released 2024-05-15, will become 3.10 on 2026-12-14
111-
"numpy >= 1.20, < 3", # released 2023-09-16, will become 2.0 on 2026-06-16
107+
"matplotlib >= 3.9", # released 2024-05-15, will become 3.10 on 2026-12-14
108+
"numpy >= 1.26, < 3", # released 2023-09-16, will become 2.0 on 2026-06-16
112109
"packaging",
113110
"pooch >= 1.5",
114-
"scipy >= 1.7", # released 2024-04-02, will become 1.14 on 2026-06-24
111+
"scipy >= 1.13", # released 2024-04-02, will become 1.14 on 2026-06-24
115112
"tqdm >= 4.66",
116113
]
117114
description = "MNE-Python project for MEG and EEG data analysis."
@@ -139,11 +136,12 @@ scripts = {mne = "mne.commands.utils:main"}
139136
[project.optional-dependencies]
140137
# Leave this one here for backward-compat
141138
data = []
142-
full = ["mne[full-no-qt]", "PySide6 != 6.7.0, != 6.8.0, != 6.8.0.1, != 6.9.1"]
139+
full = ["mne[full-no-qt]", "PyQt6 != 6.6.0", "PyQt6-Qt6 != 6.6.0, != 6.7.0"]
143140
# Dependencies for full MNE-Python functionality (other than raw/epochs export)
144141
# We first define a variant without any Qt bindings. The "complete" variant, mne[full],
145-
# makes an opinionated choice and installs PySide6.
146-
# We also offer mne[full-pyqt6], which will install PyQt6 instead of PySide6.
142+
# makes an opinionated choice and installs PyQt6.
143+
# We also offter two more variants: mne[full-qt6] (which is equivalent to mne[full]),
144+
# and mne[full-pyside6], which will install PySide6 instead of PyQt6.
147145
full-no-qt = [
148146
"antio >= 0.5.0",
149147
"curryreader >= 0.1.2",
@@ -162,7 +160,7 @@ full-no-qt = [
162160
"ipywidgets",
163161
"joblib >= 0.8",
164162
"jupyter",
165-
"mffpy >= 0.11.0",
163+
"mffpy >= 0.5.7",
166164
"mne-qt-browser",
167165
"mne[hdf5]",
168166
"neo",
@@ -195,8 +193,8 @@ full-no-qt = [
195193
"vtk >= 9.2",
196194
"xlrd",
197195
]
198-
full-pyqt6 = ["mne[full-no-qt]", "PyQt6 != 6.6.0", "PyQt6-Qt6 != 6.6.0, != 6.7.0"]
199-
full-pyside6 = ["mne[full]"]
196+
full-pyqt6 = ["mne[full]"]
197+
full-pyside6 = ["mne[full-no-qt]", "PySide6 != 6.7.0, != 6.8.0, != 6.8.0.1, != 6.9.1"]
200198
# Dependencies for MNE-Python functions that use HDF5 I/O
201199
hdf5 = ["h5io >= 0.2.4", "pymatreader"]
202200

0 commit comments

Comments
 (0)