-
Notifications
You must be signed in to change notification settings - Fork 35
/
Copy pathpyproject.toml
117 lines (105 loc) · 3.28 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
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
[project]
name = "mne-nirs"
description = "An MNE compatible package for processing near-infrared spectroscopy data"
dynamic = ["version"]
maintainers = [{ name = "Robert Luke", email = "[email protected]" }]
license = { text = "BSD-3-Clause" }
readme = { file = "README.rst", content-type = "text/x-rst" }
requires-python = ">=3.10"
keywords = [
"neuroscience",
"neuroimaging",
"MEG",
"EEG",
"ECoG",
"fNIRS",
"brain",
]
classifiers = [
"Intended Audience :: Science/Research",
"Intended Audience :: Developers",
"License :: OSI Approved",
"Programming Language :: Python",
"Topic :: Software Development",
"Topic :: Scientific/Engineering",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Operating System :: Unix",
"Operating System :: MacOS",
"Programming Language :: Python :: 3",
]
dependencies = [
"numpy>=1.11.3,<3",
"scipy>=0.17.1",
"mne>=1.0",
"h5io>=0.1.7",
"nilearn>=0.9",
"seaborn",
]
[project.urls]
Homepage = "https://mne.tools/mne-nirs/"
Download = "https://github.com/mne-tools/mne-nirs"
"Source Code" = "https://github.com/mne-tools/mne-nirs/"
[project.optional-dependencies]
tests = ["pytest", "pytest-cov"]
docs = ["sphinx", "sphinx-gallery", "pydata_sphinx_theme", "numpydoc", "matplotlib"]
[tool.hatch.build]
exclude = [
"/.*",
"/*.yml",
"/*.txt",
"/doc",
"/examples",
"/tools",
"/CONTRIBUTING.md",
"/Dockerfile",
] # tracked by git, but we don't want to ship those files
[tool.hatch.version]
source = "vcs"
raw-options = { version_scheme = "release-branch-semver" }
[tool.codespell]
ignore-words = ".github/workflows/ignore_words.txt"
builtin = "clear,rare,informal,names,usage"
skip = "doc/references.bib"
[tool.ruff]
select = ["A", "B006", "D", "E", "F", "I", "W", "UP"]
exclude = ["__init__.py"]
ignore = [
"D100", # Missing docstring in public module
"D104", # Missing docstring in public package
"D413", # Missing blank line after last section
"UP031", # Use format specifiers instead of percent format
]
[tool.ruff.pydocstyle]
convention = "numpy"
ignore-decorators = [
"property",
"setter",
"mne.utils.copy_function_doc_to_method_doc",
"mne.utils.copy_doc",
"mne.utils.deprecated",
]
[tool.ruff.per-file-ignores]
"examples/*/*.py" = [
"D103", # Missing docstring in public function
"D205", # 1 blank line required between summary line and description
"D400", # First line should end with a period
]
"mne_nirs/**/tests/*.py" = [
"D103", # Missing docstring in public function
"D400", # First line should end with a period
]
[tool.pytest.ini_options]
# -r f (failed), E (error), s (skipped), x (xfail), X (xpassed), w (warnings)
# don't put in xfail for pytest 8.0+ because then it prints the tracebacks,
# which look like real errors
addopts = """--durations=20 --doctest-modules -rfEXs --cov-report= --tb=short \
--cov-branch --doctest-ignore-import-errors --junit-xml=junit-results.xml \
--ignore=doc --ignore=logo --ignore=examples --ignore=tutorials \
--ignore=mne/gui/_*.py --ignore=mne/icons --ignore=tools \
--ignore=mne/report/js_and_css \
--color=yes --capture=sys"""
junit_family = "xunit2"