@@ -3,7 +3,7 @@ build-backend = "hatchling.build"
33requires = [" 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
88doc = [
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]
117114description = " 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
141138data = []
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.
147145full-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
201199hdf5 = [" h5io >= 0.2.4" , " pymatreader" ]
202200
0 commit comments