-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathpyproject.toml
135 lines (115 loc) · 3.49 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
[tool.poetry]
name = "erb-thesis"
version = "0.1.0"
description = ""
authors = ["Erik Bjäreholt <[email protected]>"]
packages = [
{ include = "brainwatch", from = "src" },
{ include = "eegwatch", from = "src" },
{ include = "eegclassify", from = "src" },
]
[tool.poetry.scripts]
brainwatch = "brainwatch.main:main"
eegwatch = "eegwatch.main:main"
eegclassify = "eegclassify.main:main"
[tool.poetry.dependencies]
python = "^3.8, <3.10" # Less than 3.10 due to numba not having support
# Self-made
aw-core = "*"
aw-client = "*"
timeslot = "*"
# General datascience
numpy = "*"
scipy = "*"
matplotlib = "*"
pandas = "*"
# ML
scikit-learn = "^1.0" # 1.0 is blocked by moabb (https://github.com/NeuroTechX/moabb/pull/242)
pyriemann = "^0.2.7"
xgboost = "^1.2.1"
torch = "^1.8.1"
imbalanced-learn = "*"
# EEG-specific
mne = "^0.23.0"
mne-bids = "*"
brainflow = "*"
muselsl = {git = "https://github.com/ErikBjare/muse-lsl.git", branch="dev/bleak"}
#muselsl = {path = "./vendor/muse-lsl"}
eeg-notebooks = {git = "https://github.com/NeuroTechX/eeg-notebooks.git"}
yasa = "^0.5"
entropy = {git = "https://github.com/raphaelvallat/entropy.git"}
pylsl = "1.10.5" # required, see: https://github.com/alexandrebarachant/muse-lsl/issues/136
Braindecode = "^0.5.1"
# Bluetooth
pygatt = {version = "^4.0.5", extras = ["GATTTOOL"]}
# UI
PyQt5 = "^5.15.1" # required for `muselsl view` to work, due to: https://github.com/alexandrebarachant/muse-lsl/issues/111
pyqtgraph = "^0.11.0"
vispy = "^0.6.5"
wxpython = {platform = "linux", url = "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04/wxPython-4.1.1-cp38-cp38-linux_x86_64.whl", python="3.8"}
# Misc
coloredlogs = "^14.0"
bitstring = "^3.1.7" # depended on by muse-lsl, don't know why it isn't installed
tqdm = "*"
pybv = "*" # for the BrainVision format
moabb = "^0.4.4"
[tool.poetry.dev-dependencies]
# Linting & formatting
black = "*"
pylint = "*"
flake8 = "*"
# Typechecking
mypy = "*"
types-click = "*"
# Testing
pytest = "^6.0"
pytest-cov = "*"
pytest-profiling = "*"
coverage = {version = "*", extras = ["toml"]}
# Notebook stuff
ipykernel = "*"
nbval = "*"
nbqa = "*"
# Needed due to https://github.com/jupyter/jupyter_client/issues/637
# and because myst-nb hasn't made a new release since bumping the version
myst-nb = {git = "https://github.com/executablebooks/MyST-NB.git"}
#myst-nb = "*"
# Docs
Sphinx = "*"
sphinx-book-theme = "*"
sphinxcontrib-bibtex = "*"
Pygments = "*" # required to build latex
[tool.pytest.ini_options]
minversion = "6.0"
addopts = "--cov-report=term --cov-report=xml --cov-report=html --cov=eegclassify --cov=eegwatch --profile --nbval-lax --current-env --ignore notebooks/Braindecode.ipynb"
testpaths = [
"src",
"tests",
# TODO: Don't run long-running notebooks as part of local tests, but include in CI tests
"notebooks",
]
python_files = ["*.py", "*.ipynb"]
filterwarnings = [
'ignore::DeprecationWarning:sklearn',
'ignore::DeprecationWarning:pyqtgraph'
]
# Doesn't seem to be respected?
#ignore = ["notebooks/Braindecode.ipynb"]
[tool.mypy]
files = ["src/**/*.py", "tests/*.py", "scripts/*.py"]
ignore_missing_imports = true
check_untyped_defs = true
[tool.coverage.report]
exclude_lines = [
# Have to re-enable the standard pragma
"pragma: no cover",
# Don't complain if tests don't hit defensive assertion code
"raise NotImplementedError"
]
[tool.black]
#line-length = 88
#target-version = ['py37']
#include = '\.pyi?$'
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"