-
Notifications
You must be signed in to change notification settings - Fork 88
/
pyproject.toml
155 lines (143 loc) · 5 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
[build-system]
build-backend = "hatchling.build"
requires = ["hatch-vcs", "hatchling"]
[project]
authors = [{name = "The MNE-BIDS developers"}]
classifiers = [
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering",
"Topic :: Software Development",
]
dependencies = ["mne>=1.7", "numpy>=1.21.2", "scipy>=1.7.1"]
description = "MNE-BIDS: Organizing MEG, EEG, and iEEG data according to the BIDS specification and facilitating their analysis with MNE-Python"
dynamic = ["version"]
keywords = [
"bids",
"brain imaging data structure",
"eeg",
"ieeg",
"meg",
"neuroimaging",
"neuroscience",
]
license = {text = "BSD-3-Clause"}
maintainers = [
{email = "[email protected]", name = "Stefan Appelhoff"},
]
name = "mne-bids"
readme = {content-type = "text/markdown", file = "README.md"}
requires-python = ">=3.10"
scripts = {mne_bids = "mne_bids.commands.run:main"}
[project.optional-dependencies]
# Dependencies for developer installations
dev = ["mne_bids[test,doc,full]", "pre-commit"]
# Dependencies for building the documentation
doc = [
"intersphinx_registry",
"matplotlib",
"mne-nirs",
"nilearn",
"numpydoc",
"openneuro-py",
"pandas",
"pillow",
"pydata-sphinx-theme",
"seaborn",
"sphinx-copybutton",
"sphinx>=7.4.7",
"sphinx_gallery @ https://github.com/sphinx-gallery/sphinx-gallery/archive/refs/heads/master.zip",
]
# Dependencies for using all mne_bids features
full = [
"defusedxml", # For reading EGI MFF data and BrainVision montages
"edfio >= 0.2.1",
"eeglabio >= 0.0.2",
"matplotlib >= 3.5.0",
"nibabel >= 3.2.1",
"pandas >= 1.3.2",
"pybv >= 0.7.5",
"pymatreader",
]
# Dependencies for running the test infrastructure
test = ["mne_bids[full]", "pytest >= 8", "pytest-cov", "pytest-sugar", "ruff"]
[project.urls]
"Bug Tracker" = "https://github.com/mne-tools/mne-bids/issues/"
"Documentation" = "https://mne.tools/mne-bids"
"Download" = "https://pypi.org/project/mne-bids/#files"
"Forum" = "https://mne.discourse.group/"
"Homepage" = "https://mne.tools/mne-bids"
"Source Code" = "https://github.com/mne-tools/mne-bids"
[tool.coverage.report]
# Regexes for lines to exclude from consideration
exclude_lines = ["if 0:", "if __name__ == .__main__.:", "pragma: no cover"]
[tool.coverage.run]
omit = ["*tests*"]
[tool.hatch.build]
exclude = [
"**/tests",
"/.*",
"/CITATION.cff",
"/CONTRIBUTING.md",
"/doc",
"/examples",
"/Makefile",
"/paper",
]
[tool.hatch.metadata]
allow-direct-references = true # allow specifying URLs in our dependencies
[tool.hatch.version]
raw-options = {version_scheme = "release-branch-semver"}
source = "vcs"
[tool.pytest.ini_options]
addopts = """--durations=20 -ra --junit-xml=junit-results.xml --tb=short
--ignore=doc --ignore=examples --ignore=mne_bids/tests/data"""
filterwarnings = [
"error",
# Python 3.10+ and NumPy 1.22 (and maybe also newer NumPy versions?)
"ignore:.*distutils\\.sysconfig module is deprecated.*:DeprecationWarning",
# NumPy 2.1 bug (probably)
"ignore:__array__ implementation doesn.*:DeprecationWarning",
# numba with NumPy dev
"ignore:`np.MachAr` is deprecated.*:DeprecationWarning",
"ignore:`product` is deprecated as of NumPy.*:DeprecationWarning",
"ignore:Converting data files to BrainVision format:RuntimeWarning",
"ignore:Converting to BV for anonymization:RuntimeWarning",
"ignore:Converting to FIF for anonymization:RuntimeWarning",
"ignore:datetime\\.datetime\\.utcfromtimestamp.* is deprecated and scheduled for removal in a future version.*:DeprecationWarning",
"ignore:Did not find any coordsystem.json.*:RuntimeWarning",
"ignore:Did not find any electrodes.tsv.*:RuntimeWarning",
"ignore:Did not find any events.tsv.*:RuntimeWarning",
"ignore:Estimation of line frequency only supports.*:RuntimeWarning",
# matplotlib
"ignore:Figure.*is non-interactive.*cannot be shown:UserWarning",
"ignore:MEG ref channel RMSP did not.*:RuntimeWarning",
"ignore:No events found or provided.*:RuntimeWarning",
"ignore:numpy.ufunc size changed.*:RuntimeWarning",
"ignore:Participants file not found for.*:RuntimeWarning",
# old MNE _fake_click
"ignore:The .*_event function was deprecated in Matplotlib.*:",
"ignore:There are channels without locations (n/a)*:RuntimeWarning",
"ignore:tostring\\(\\) is deprecated.*:DeprecationWarning",
"ignore:Writing of electrodes.tsv is not supported for datatype.*:RuntimeWarning",
]
[tool.ruff.lint]
exclude = ["__init__.py"]
ignore = ["A002"]
select = ["A", "D", "E", "F", "I", "UP", "W"]
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.tomlsort]
all = true
ignore_case = true
spaces_before_inline_comment = 2
trailing_comma_inline_array = true