8000 Merge branch 'main' into add_tfr_weights · tsbinns/mne-python@2a03e9b · GitHub
[go: up one dir, main page]

Skip to content

Commit 2a03e9b

Browse files
authored
Merge branch 'main' into add_tfr_weights
2 parents f155238 + 0755ef0 commit 2a03e9b

File tree

7 files changed

+187
-89
lines changed

7 files changed

+187
-89
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ jobs:
106106
create-args: >-
107107
python=${{ env.PYTHON_VERSION }}
108108
mamba
109+
nomkl
109110
if: ${{ !startswith(matrix.kind, 'pip') }}
110111
# Make sure we have the right Python
111112
- run: python -c "import platform; assert platform.machine() == 'arm64', platform.machine()"

.pre-commit-config.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,17 @@ repos:
6464
files: pyproject.toml
6565

6666
# dependencies
67+
- repo: local
68+
hooks:
69+
- id: update-env-file
70+
name: Copy dependency changes from pyproject.toml to environment.yml
71+
language: python
72+
entry: ./tools/hooks/update_environment_file.py
73+
files: pyproject.toml
6774
- repo: local
6875
hooks:
6976
- id: dependency-sync
70-
name: Sync dependency list between pyproject.toml and README.rst
77+
name: Copy core dependencies from pyproject.toml to README.rst
7178
language: python
7279
entry: ./tools/hooks/sync_dependencies.py
7380
files: pyproject.toml

environment.yml

Lines changed: 45 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,61 @@
1+
# THIS FILE IS AUTO-GENERATED BY tools/hooks/update_environment_file.py AND WILL BE OVERWRITTEN
12
name: mne
23
channels:
34
- conda-forge
45
dependencies:
56
- python >=3.10
6-
- pip
7-
- numpy
8-
- scipy
9-
- openblas
10-
- matplotlib
11-
- tqdm
12-
- pooch>=1.5
7+
- antio >=0.4.0
8+
- darkdetect
139
- decorator
14-
- h5io
15-
- packaging
16-
- numba
17-
- pandas
18-
- pyarrow
19-
- xlrd
20-
- scikit-learn
10+
- defusedxml
11+
- dipy
12+
- edfio >=0.2.1
13+
- eeglabio
14+
- h5io >=0.2.4
2115
- h5py
22-
- jinja2
23-
- pillow
24-
- statsmodels
25-
- jupyter
26-
- ipython !=8.7.0
27-
- joblib
28-
- psutil
29-
- numexpr
30-
- imageio
31-
- spyder-kernels >=1.10.0
3216
- imageio >=2.6.1
3317
- imageio-ffmpeg >=0.4.1
34-
- vtk >=9.2
35-
- traitlets
36-
- pyvista >=0.32,!=0.35.2,!=0.38.0,!=0.38.1,!=0.38.2,!=0.38.3,!=0.38.4,!=0.38.5,!=0.38.6,!=0.42.0
37-
- pyvistaqt >=0.4
38-
- qdarkstyle !=3.2.2
39-
- darkdetect
40-
- dipy
18+
- ipyevents
19+
- ipympl
20+
- ipython !=8.7.0
21+
- ipywidgets
22+
- jinja2
23+
- joblib
24+
- jupyter
25+
- lazy_loader >=0.3
26+
- matplotlib >=3.6
27+
- mffpy >=0.5.7
28+
- mne-qt-browser
4129
- nibabel
42-
- openmeeg >=2.5.5
4330
- nilearn
31+
- numba
32+
- numpy >=1.23,<3
33+
- openmeeg >=2.5.5
34+
- packaging
35+
- pandas
36+
- pillow
37+
- pip
38+
- pooch >=1.5
39+
- pyarrow
40+
- pybv
41+
- pymatreader
42+
- PySide6 !=6.8.0,!=6.8.0.1
43+
- python-neo
4444
- python-picard
45+
- pyvista >=0.32,!=0.35.2,!=0.38.0,!=0.38.1,!=0.38.2,!=0.38.3,!=0.38.4,!=0.38.5,!=0.38.6,!=0.42.0
46+
- pyvistaqt >=0.4
47+
- qdarkstyle !=3.2.2
4548
- qtpy
46-
- pyside6 !=6.8.0,!=6.8.0.1
47-
- mne-base
48-
- seaborn-base
49-
- mffpy >=0.5.7
50-
- ipyevents
51-
- ipywidgets
52-
- ipympl
49+
- scikit-learn
50+
- scipy >=1.9
51+
- sip
52+
- snirf
53+
- statsmodels
54+
- threadpoolctl
55+
- tqdm
56+
- traitlets
5357
- trame
5458
- trame-vtk
5559
- trame-vuetify
56-
- jupyter_client
57-
- nbformat
58-
- nbclient
59-
- mne-qt-browser
60-
- pymatreader
61-
- eeglabio
62-
- edfio >=0.2.1
63-
- pybv
64-
- mamba
65-
- lazy_loader
66-
- defusedxml
67-
- python-neo
60+
- vtk >=9.2
61+
- xlrd

mne/utils/config.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -771,10 +771,12 @@ def sys_info(
771771
use_mod_names += (
772772
"# Testing",
773773
"pytest",
774-
"nbclient",
775774
"statsmodels",
776775
"numpydoc",
777776
"flake8",
777+
"jupyter_client",
778+
"nbclient",
779+
"nbformat",
778780
"pydocstyle",
779781
"nitime",
780782
"imageio",

pyproject.toml

Lines changed: 40 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ classifiers = [
2222
dependencies = [
2323
"decorator",
2424
"jinja2",
25-
"lazy_loader>=0.3",
26-
"matplotlib>=3.6",
27-
"numpy>=1.23,<3",
25+
"lazy_loader >= 0.3",
26+
"matplotlib >= 3.6",
27+
"numpy >= 1.23,<3",
2828
"packaging",
29-
"pooch>=1.5",
30-
"scipy>=1.9",
29+
"pooch >= 1.5",
30+
"scipy >= 1.9",
3131
"tqdm",
3232
]
3333
description = "MNE-Python project for MEG and EEG data analysis."
@@ -45,7 +45,7 @@ license = {text = "BSD-3-Clause"}
4545
maintainers = [{email = "dan@mccloy.info", name = "Dan McCloy"}]
4646
name = "mne"
4747
readme = {content-type = "text/x-rst", file = "README.rst"}
48-
requires-python = ">=3.10"
48+
requires-python = ">= 3.10"
4949
scripts = {mne = "mne.commands.utils:main"}
5050

5151
[project.optional-dependencies]
@@ -55,97 +55,99 @@ dev = ["mne[doc,test]", "rcssmin"]
5555
# Dependencies for building the documentation
5656
doc = [
5757
"graphviz",
58-
"intersphinx_registry>=0.2405.27",
59-
"ipython!=8.7.0",
58+
"intersphinx_registry >= 0.2405.27",
59+
"ipython != 8.7.0", # also in "full-no-qt" and "test"
6060
"memory_profiler",
6161
"mne-bids",
6262
"mne-connectivity",
6363
"mne-gui-addons",
6464
"neo",
6565
"numpydoc",
6666
"psutil",
67-
"pydata_sphinx_theme>=0.15.2",
68-
"pygments>=2.13",
67+
"pydata_sphinx_theme >= 0.15.2",
68+
"pygments >= 2.13",
6969
"pytest",
7070
"pyxdf",
71-
"pyzmq!=24.0.0",
72-
"seaborn!=0.11.2",
71+
"pyzmq != 24.0.0",
72+
"seaborn != 0.11.2",
7373
"selenium",
74+
"sphinx >= 6",
7475
"sphinx-design",
75-
"sphinx-gallery>=0.16",
76-
"sphinx>=6",
76+
"sphinx-gallery >= 0.16",
7777
"sphinx_copybutton",
78-
"sphinxcontrib-bibtex>=2.5",
78+
"sphinxcontrib-bibtex >= 2.5",
7979
"sphinxcontrib-towncrier",
8080
"sphinxcontrib-youtube",
8181
# https://github.com/sphinx-contrib/sphinxcontrib-towncrier/issues/92
82-
"towncrier<24.7",
82+
"towncrier < 24.7",
8383
]
84-
full = ["mne[full-no-qt]", "PyQt6!=6.6.0", "PyQt6-Qt6!=6.6.0,!=6.7.0"]
84+
full = ["mne[full-no-qt]", "PyQt6 != 6.6.0", "PyQt6-Qt6 != 6.6.0, != 6.7.0"]
8585
# Dependencies for full MNE-Python functionality (other than raw/epochs export)
8686
# We first define a variant without any Qt bindings. The "complete" variant, mne[full],
8787
# makes an opinionated choice and installs PyQt6.
8888
# We also offter two more variants: mne[full-qt6] (which is equivalent to mne[full]),
8989
# and mne[full-pyside6], which will install PySide6 instead of PyQt6.
9090
full-no-qt = [
91-
"antio>=0.4.0",
91+
"antio >= 0.4.0",
9292
"darkdetect",
9393
"defusedxml",
9494
"dipy",
95-
"edfio>=0.2.1",
95+
"edfio >= 0.2.1",
9696
"eeglabio",
9797
"h5py",
98-
"imageio-ffmpeg>=0.4.1",
99-
"imageio>=2.6.1",
98+
"imageio >= 2.6.1",
99+
"imageio-ffmpeg >= 0.4.1",
100100
"ipyevents",
101101
"ipympl",
102+
"ipython != 8.7.0", # for notebook backend; also in "doc" and "test"
102103
"ipywidgets",
103104
"joblib",
104105
"jupyter",
105-
"mffpy>=0.5.7",
106+
"mffpy >= 0.5.7",
106107
"mne-qt-browser",
107108
"mne[hdf5]",
108109
"neo",
109110
"nibabel",
110111
"nilearn",
111112
"numba",
112-
"openmeeg>=2.5.5",
113+
"openmeeg >= 2.5.5",
113114
"pandas",
115+
"pillow", # for `Brain.save_image` and `mne.Report`
114116
"pyarrow", # only needed to avoid a deprecation warning in pandas
115117
"pybv",
116-
"pyobjc-framework-Cocoa>=5.2.0; platform_system=='Darwin'",
118+
"pyobjc-framework-Cocoa >= 5.2.0; platform_system == 'Darwin'",
117119
"python-picard",
118-
"pyvista>=0.32,!=0.35.2,!=0.38.0,!=0.38.1,!=0.38.2,!=0.38.3,!=0.38.4,!=0.38.5,!=0.38.6,!=0.42.0",
119-
"pyvistaqt>=0.4",
120-
"qdarkstyle!=3.2.2",
120+
"pyvista >= 0.32, != 0.35.2, != 0.38.0, != 0.38.1, != 0.38.2, != 0.38.3, != 0.38.4, != 0.38.5, != 0.38.6, != 0.42.0",
121+
"pyvistaqt >= 0.4",
122+
"qdarkstyle != 3.2.2",
121123
"qtpy",
122124
"scikit-learn",
123125
"sip",
124126
"snirf",
125-
# duplicated in test_extra:
126127
"statsmodels",
127128
"threadpoolctl",
128129
"traitlets",
129130
"trame",
130131
"trame-vtk",
131132
"trame-vuetify",
132-
"vtk",
133+
"vtk >= 9.2",
133134
"xlrd",
134135
]
135136
full-pyqt6 = ["mne[full]"]
136-
full-pyside6 = ["mne[full-no-qt]", "PySide6!=6.7.0,!=6.8.0,!=6.8.0.1"]
137+
full-pyside6 = ["mne[full-no-qt]", "PySide6 != 6.7.0, != 6.8.0, != 6.8.0.1"]
137138
# Dependencies for MNE-Python functions that use HDF5 I/O
138-
hdf5 = ["h5io>=0.2.4", "pymatreader"]
139+
hdf5 = ["h5io >= 0.2.4", "pymatreader"]
139140
# Dependencies for running the test infrastructure
140141
test = [
141142
"codespell",
143+
"ipython != 8.7.0", # for testing notebook backend; also in "full-no-qt" and "doc"
142144
"mypy",
143145
"numpydoc",
144146
"pre-commit",
147+
"pytest >= 8.0",
145148
"pytest-cov",
146149
"pytest-qt",
147150
"pytest-timeout",
148-
"pytest>=8.0.0rc2",
149151
"ruff",
150152
"toml-sort",
151153
"tomli; python_version<'3.11'",
@@ -154,14 +156,17 @@ test = [
154156
"wheel",
155157
]
156158
# Dependencies for being able to run additional tests (rare/CIs/advanced devs)
159+
# Changes here should be reflected in the mne/utils/config.py dev dependencies section
157160
test_extra = [
158-
"edfio>=0.2.1",
161+
"edfio >= 0.2.1",
159162
"eeglabio",
160-
"imageio-ffmpeg>=0.4.1",
161-
"imageio>=2.6.1",
163+
"imageio >= 2.6.1",
164+
"imageio-ffmpeg >= 0.4.1",
165+
"jupyter_client",
162166
"mne-bids",
163167
"mne[test]",
164168
"nbclient",
169+
"nbformat",
165170
"neo",
166171
"nitime",
167172
"pybv",

tools/azure_dependencies.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ if [ "${TEST_MODE}" == "pip" ]; then
99
python -m pip install $STD_ARGS --only-binary="numba,llvmlite,numpy,scipy,vtk,dipy" -e .[test,full] "numpy<2"
1010
elif [ "${TEST_MODE}" == "pip-pre" ]; then
1111
${SCRIPT_DIR}/install_pre_requirements.sh
12-
python -m pip install $STD_ARGS --pre -e .[test]
12+
python -m pip install $STD_ARGS --pre -e .[test_extra]
1313
else
1414
echo "Unknown run type ${TEST_MODE}"
1515
exit 1

0 commit comments

Comments
 (0)
0