Skip to content

Commit 2a0b97f

Browse files
authored
Merge pull request #379 from NeuroTechX/develop
merge v0.5.0 into master
2 parents 3889e2b + 6047c8d commit 2a0b97f

File tree

162 files changed

+10994
-2590
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

162 files changed

+10994
-2590
lines changed

.coveragerc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
[run]
22
branch = True
33
source = moabb
4-
include = */moabb/*
54
omit =
65
*/docs/*
76
*/pipelines/*
7+
*/tests/*
88

99
[report]
1010
exclude_lines =

.dockerignore

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# Created by .ignore support plugin (hsz.mobi)
2+
### Python template
3+
# Byte-compiled / optimized / DLL files
4+
__pycache__/
5+
*.py[cod]
6+
*$py.class
7+
8+
# C extensions
9+
*.so
10+
11+
# Distribution / packaging
12+
.Python
13+
build/
14+
develop-eggs/
15+
dist/
16+
downloads/
17+
eggs/
18+
.eggs/
19+
lib/
20+
lib64/
21+
parts/
22+
sdist/
23+
var/
24+
wheels/
25+
pip-wheel-metadata/
26+
share/python-wheels/
27+
*.egg-info/
28+
.installed.cfg
29+
*.egg
30+
MANIFEST
31+
32+
# PyInstaller
33+
# Usually these files are written by a python script from a template
34+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
35+
*.manifest
36+
*.spec
37+
38+
# Installer logs
39+
pip-log.txt
40+
pip-delete-this-directory.txt
41+
42+
# Unit test / coverage reports
43+
htmlcov/
44+
.tox/
45+
.nox/
46+
.coverage
47+
.coverage.*
48+
.cache
49+
nosetests.xml
50+
coverage.xml
51+
*.cover
52+
*.py,cover
53+
.hypothesis/
54+
.pytest_cache/
55+
cover/
56+
57+
# Translations
58+
*.mo
59+
*.pot
60+
61+
# Django stuff:
62+
*.log
63+
local_settings.py
64+
db.sqlite3
65+
db.sqlite3-journal
66+
67+
# Flask stuff:
68+
instance/
69+
.webassets-cache
70+
71+
# Scrapy stuff:
72+
.scrapy
73+
74+
# Sphinx documentation
75+
docs/_build/
76+
77+
# PyBuilder
78+
.pybuilder/
79+
target/
80+
81+
# Jupyter Notebook
82+
.ipynb_checkpoints
83+
84+
# IPython
85+
profile_default/
86+
ipython_config.py
87+
88+
# pyenv
89+
# For a library or package, you might want to ignore these files since the code is
90+
# intended to run in multiple environments; otherwise, check them in:
91+
# .python-version
92+
93+
# pipenv
94+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
95+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
96+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
97+
# install all needed dependencies.
98+
#Pipfile.lock
99+
100+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
101+
__pypackages__/
102+
103+
# Celery stuff
104+
celerybeat-schedule
105+
celerybeat.pid
106+
107+
# SageMath parsed files
108+
*.sage.py
109+
110+
# Environments
111+
.env
112+
.venv
113+
env/
114+
venv/
115+
ENV/
116+
env.bak/
117+
venv.bak/
118+
119+
# Spyder project settings
120+
.spyderproject
121+
.spyproject
122+
123+
# Rope project settings
124+
.ropeproject
125+
126+
# mkdocs documentation
127+
/site
128+
129+
# mypy
130+
.mypy_cache/
131+
.dmypy.json
132+
dmypy.json
133+
134+
# Pyre type checker
135+
.pyre/
136+
137+
# pytype static type analyzer
138+
.pytype/
139+
140+
# Cython debug symbols
141+
cython_debug/
142+
143+
# folder from moabb project
144+
dataset/
145+
results/
146+
output/

.github/workflows/docs.yml

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,37 @@ on:
55
branches: [master, develop]
66
pull_request:
77
branches: [master, develop]
8-
paths:
9-
- "docs/**"
108

119
jobs:
1210
build_docs:
1311
runs-on: ${{ matrix.os }}
1412
strategy:
1513
fail-fast: true
1614
matrix:
17-
os: [ubuntu-18.04]
15+
os: [ubuntu-latest]
1816
python-version: ["3.9"]
1917

2018
steps:
21-
- uses: actions/checkout@v2
19+
- uses: actions/checkout@v3
2220

2321
- name: Create local data folder
2422
run: |
2523
mkdir ~/mne_data
2624
2725
- name: Setup Python
28-
uses: actions/setup-python@v2
26+
uses: actions/setup-python@v4
2927
with:
3028
python-version: ${{ matrix.python-version }}
3129

3230
- name: Install Poetry
33-
uses: snok/install-poetry@v1.1.6
31+
uses: snok/install-poetry@v1
3432
with:
3533
virtualenvs-create: true
3634
virtualenvs-in-project: true
3735

3836
- name: Cache datasets and docs
3937
id: cached-dataset-docs
40-
uses: actions/cache@v2
38+
uses: actions/cache@v3
4139
with:
4240
key: doc-${{ github.head_ref }}-${{ hashFiles('moabb/datasets/**') }}
4341
path: |
@@ -46,10 +44,10 @@ jobs:
4644
4745
- name: Install dependencies
4846
if: steps.cached-dataset-docs.outputs.cache-hit != 'true'
49-
run: poetry install --no-interaction --no-root
47+
run: poetry install --no-interaction --no-root --with docs,deeplearning
5048

5149
- name: Install library
52-
run: poetry install --no-interaction
50+
run: poetry install --no-interaction --with docs,deeplearning
5351

5452
- name: Build docs
5553
run: |
@@ -68,26 +66,26 @@ jobs:
6866
strategy:
6967
fail-fast: false
7068
matrix:
71-
os: [ubuntu-18.04]
69+
os: [ubuntu-latest]
7270

7371
steps:
74-
- uses: actions/checkout@v2
72+
- uses: actions/checkout@v3
7573

7674
- name: Create local data folder
7775
run: |
7876
mkdir ~/mne_data
7977
8078
- name: Cache datasets and docs
8179
id: cached-dataset-docs
82-
uses: actions/cache@v2
80+
uses: actions/cache@v3
8381
with:
8482
key: doc-${{ github.head_ref }}-${{ hashFiles('moabb/datasets/**') }}
8583
path: |
8684
~/mne_data
8785
docs/build
8886
8987
- name: Checkout moabb.github.io
90-
uses: actions/checkout@v2
88+
uses: actions/checkout@v3
9189
with:
9290
repository: "NeuroTechX/moabb.github.io"
9391
path: moabb-ghio
@@ -111,26 +109,26 @@ jobs:
111109
strategy:
112110
fail-fast: false
113111
matrix:
114-
os: [ubuntu-18.04]
112+
os: [ubuntu-latest]
115113

116114
steps:
117-
- uses: actions/checkout@v2
115+
- uses: actions/checkout@v3
118116

119117
- name: Create local data folder
120118
run: |
121119
mkdir ~/mne_data
122120
123121
- name: Cache datasets and docs
124122
id: cached-dataset-docs
125-
uses: actions/cache@v2
123+
uses: actions/cache@v3
126124
with:
127125
key: doc-${{ github.head_ref }}-${{ hashFiles('moabb/datasets/**') }}
128126
path: |
129127
~/mne_data
130128
docs/build
131129
132130
- name: Checkout gh pages
133-
uses: actions/checkout@v2
131+
uses: actions/checkout@v3
134132
with:
135133
ref: gh-pages
136134
path: moabb-ghpages
@@ -146,6 +144,17 @@ jobs:
146144
git commit -m "GH Actions update of GH pages ($GITHUB_RUN_ID - $GITHUB_RUN_NUMBER)"
147145
git push origin gh-pages
148146
147+
- name: Deploy to moabb.neurotechx.com/
148+
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/develop'}}
149+
uses: peaceiris/actions-gh-pages@v3
150+
with:
151+
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
152+
external_repository: NeuroTechX/moabb.github.io
153+
destination_dir: docs/
154+
publish_branch: master
155+
publish_dir: ./docs/build/html
156+
cname: moabb.neurotechx.com/
157+
149158
# Previous test with moabb GH pages, official docs point to moabb.github.io
150159
###########################################################################
151160
# Since we want the URL to be neurotechx.github.io/docs/ the html output needs to be put in a ./docs subfolder of the publish_dir

.github/workflows/test-devel.yml

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ jobs:
1313
strategy:
1414
fail-fast: true
1515
matrix:
16-
os: [ubuntu-18.04, windows-latest, macOS-latest]
17-
python-version: ["3.7"]
16+
os: [ubuntu-latest, windows-latest, macOS-latest]
17+
python-version: ["3.8"]
1818
defaults:
1919
run:
2020
shell: bash
2121
steps:
22-
- uses: actions/checkout@v2
22+
- uses: actions/checkout@v3
2323

2424
- name: Setup Python
25-
uses: actions/setup-python@v2
25+
uses: actions/setup-python@v4
2626
with:
2727
python-version: ${{ matrix.python-version }}
2828

@@ -35,7 +35,7 @@ jobs:
3535
- name: Load cached venv
3636
if: runner.os != 'Windows'
3737
id: cached-poetry-dependencies
38-
uses: actions/cache@v2
38+
uses: actions/cache@v3
3939
with:
4040
path: .venv
4141
key:
@@ -46,43 +46,32 @@ jobs:
4646
if: |
4747
(runner.os != 'Windows') &&
4848
(steps.cached-poetry-dependencies.outputs.cache-hit != 'true')
49-
run: poetry install --no-interaction --no-root --no-dev
49+
run: poetry install --no-interaction --no-root --with deeplearning
5050

51-
- name: Install library
52-
run: poetry install --no-interaction --no-dev
51+
- name: Install library (Linux/OSX)
52+
if: ${{ runner.os != 'Windows' }}
53+
run: poetry install --no-interaction --with deeplearning
54+
55+
- name: Install library (Windows)
56+
if: ${{ runner.os == 'Windows' }}
57+
run: poetry install --no-interaction
5358

5459
- name: Run tests
5560
run: |
5661
source $VENV
5762
poetry run coverage run -m unittest moabb.tests
63+
poetry run coverage xml
5864
5965
- name: Run pipelines
6066
run: |
6167
source $VENV
6268
poetry run python -m moabb.run --pipelines=./moabb/tests/test_pipelines/ --verbose
6369
6470
- name: Upload Coverage to Codecov
65-
uses: codecov/codecov-action@v2
71+
uses: codecov/codecov-action@v3
6672
if: success()
6773
with:
6874
verbose: true
6975
directory: /home/runner/work/moabb/moabb
70-
files: ./.coverage
71-
72-
lint:
73-
name: lint ${{ matrix.os }}, py-${{ matrix.python-version }}
74-
runs-on: ${{ matrix.os }}
75-
strategy:
76-
fail-fast: true
77-
matrix:
78-
os: [ubuntu-18.04]
79-
python-version: ["3.7"]
80-
steps:
81-
- uses: actions/checkout@v2
82-
83-
- name: Setup Python
84-
uses: actions/setup-python@v2
85-
with:
86-
python-version: ${{ matrix.python-version }}
87-
88-
- uses: pre-commit/[email protected]
76+
files: ./.coverage,coverage.xml
77+
env_vars: OS,PYTHON

0 commit comments

Comments
 (0)