Skip to content
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
556f1b6
bye keras models
bruAristimunha Feb 12, 2025
950aed6
bye keras models
bruAristimunha Feb 12, 2025
521bfea
no more keras models
bruAristimunha Feb 12, 2025
9a8ae9f
removing the docker and poetry comments
bruAristimunha Feb 12, 2025
cb4f809
updating the instruction list
bruAristimunha Feb 12, 2025
82bc803
updating poetry part
bruAristimunha Feb 12, 2025
63fe220
removing keras
bruAristimunha Feb 12, 2025
0db6742
removing keras
bruAristimunha Feb 12, 2025
0c95713
removing util deep learning from moabb
bruAristimunha Feb 12, 2025
ef370d6
updating the tests
bruAristimunha Feb 12, 2025
649a99e
removing scikeras
bruAristimunha Feb 12, 2025
feaa6f6
removing scikeras
bruAristimunha Feb 12, 2025
87c6da5
removing more keras
bruAristimunha Feb 12, 2025
4b4d178
updating import
bruAristimunha Feb 12, 2025
38741de
Merge branch 'develop' into bye-keras-model
bruAristimunha Feb 12, 2025
ff68b17
Updating the whats_new file
bruAristimunha Feb 12, 2025
78c7aec
Merge remote-tracking branch 'origin/bye-keras-model' into bye-keras-…
bruAristimunha Feb 12, 2025
f4284a2
bye m2r2
bruAristimunha Feb 12, 2025
32e6575
updating the docs dep
bruAristimunha Feb 12, 2025
20a340d
Updating the python version
bruAristimunha Feb 12, 2025
3045f25
- to _
bruAristimunha Feb 12, 2025
21e24b4
Apply suggestion from the review.
bruAristimunha Feb 12, 2025
5997294
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 12, 2025
45aa8aa
Merge branch 'develop' into bye-keras-model
bruAristimunha Feb 14, 2025
3c968f0
Merge branch 'develop' into bye-keras-model
bruAristimunha Feb 25, 2025
0cff396
Merge branch 'develop' into bye-keras-model
bruAristimunha Mar 4, 2025
ea74f99
Merge branch 'develop' into bye-keras-model
bruAristimunha Mar 5, 2025
afc663c
updating the docstring
bruAristimunha Mar 5, 2025
df62535
updating the docs yml file
bruAristimunha Mar 5, 2025
a3ad6b0
update to make the review easy
bruAristimunha Mar 5, 2025
d006e37
updating config
bruAristimunha Mar 5, 2025
8308407
Merge branch 'develop' into bye-keras-model
bruAristimunha Mar 7, 2025
e050a4f
fixing merging issue
bruAristimunha Mar 7, 2025
315d519
renaming
bruAristimunha Mar 7, 2025
58a0ce5
update whats new file
bruAristimunha Mar 7, 2025
d0ed0b2
Apply suggestions from code review
bruAristimunha Mar 7, 2025
a69f869
renaming
bruAristimunha Mar 7, 2025
db4bd99
Merge remote-tracking branch 'origin/bye-keras-model' into bye-keras-…
bruAristimunha Mar 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ jobs:
fail-fast: true
matrix:
os: [ ubuntu-latest ]
python-version: [ "3.9" ]
python-version: [ "3.10" ]
# the doc can only be generated by python 3.10 or above

steps:
- uses: actions/checkout@v4
Expand Down
46 changes: 5 additions & 41 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,6 @@ pull request to the master branch referencing the specific issue you addressed.

## Setup development environment

1. install `poetry` (only once per machine):\
`curl -sSL https://install.python-poetry.org | python3 -`\
or [checkout installation instruction](https://python-poetry.org/docs/#installation) or
use [conda forge version](https://anaconda.org/conda-forge/poetry)
1. (Optional, skip if not sure) Disable automatic environment creation:\
`poetry config virtualenvs.create false`
1. (Optional) Install the optional dependency
1. install all dependencies in one command (have to be run in thibe project directory):\
`poetry install`
1. install `pre-commit` hooks to git repo:\
`pre-commit install`
1. you are ready to code!
Expand All @@ -73,42 +64,13 @@ _Note 1:_\
Your first commit will trigger `pre-commit` to download [Code Quality tools](#tools-used).
That's OK and it is intended behavior. This will be done once per machine automatically.

_Note 2:_\
By default `poetry` creates separate Python virtual environment for every project ([more details in documentation](https://python-poetry.org/docs/managing-environments/)).
If you use `conda` or any other way to manage different environments by hand - you need to
disable `poetry` environment creation. Also in this case be careful with version of Python
in your environment - it has to satisfy requirements stated in `pyproject.toml`. In case you
disable `poetry` you are in charge of this.

_Note 3 (deep learning):_\
In case you want to install the optional deep learning dependencies (i.e. `poetry install --with deeplearning`),
you will need to do the following additional steps if you want `tensorflow` to detect your
GPU:

```bash
# Instructions for tensorflow==2.12
conda install -c conda-forge cudatoolkit=11.8.0
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
source $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
# Verify install:
python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
```
_Note 2 (deep learning):_\
In case you want to install the optional deep learning dependencies (i.e. `pip install .[deeplearning]`),

Then, at every use, re-run the command
`source $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh` (you can simply add this line to
your `.bashrc`). For more details, please refer to
[the official documentation](https://www.tensorflow.org/install/pip).

### Tools used

MOABB uses [`poetry`](https://python-poetry.org/) for dependency management. This tool
enables one to have a reproducible environment on all popular OS (Linux, MacOS and
Windows) and provides easy publishing pipeline.

Another tool that makes development more stable is
[`pre-commit`](https://pre-commit.com/). It automatically runs variety of Code Quality
MOABB uses [`pre-commit`](https://pre-commit.com/). It automatically runs variety of Code Quality
instruments against the code you produced.

For Code Quality verification, we use:
Expand All @@ -117,6 +79,8 @@ For Code Quality verification, we use:
- [`isort`](https://github.com/timothycrosley/isort) - imports sorting and grouping
- [`flake8`](https://gitlab.com/pycqa/flake8) - code style checking
- [`prettier`](https://github.com/prettier/prettier) - `.yml` and `.md` files formatting
- and more checkers.


### Generate the documentation

Expand Down
26 changes: 0 additions & 26 deletions Dockerfile

This file was deleted.

75 changes: 7 additions & 68 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
**This is an open science project that may evolve depending on the need of the
community.**


** If you use moabb, remember to [cite](https://neurotechx.github.io/moabb/#citing-moabb-and-related-publications)! **

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10034224.svg)](https://doi.org/10.5281/zenodo.10034224)
[![Build Status](https://github.com/NeuroTechX/moabb/workflows/Test/badge.svg)](https://github.com/NeuroTechX/moabb/actions?query=branch%3Amaster)
Expand Down Expand Up @@ -83,28 +83,18 @@ state of the art by 5% ...”.
### Pip installation

To use MOABB, you could simply do: \
`pip install MOABB` \
`pip install moabb` \
See [Troubleshooting](#Troubleshooting) section if you have a problem.

### Manual installation

You could fork or clone the repository and go to the downloaded directory, then run:
You could clone the repository and go to the downloaded directory with `pip`, then run:

1. install `poetry` (only once per machine):\
`curl -sSL https://install.python-poetry.org | python3 -`\
or [checkout installation instruction](https://python-poetry.org/docs/#installation) or
use [conda forge version](https://anaconda.org/conda-forge/poetry)
1. (Optional, skip if not sure) Disable automatic environment creation:\
`poetry config virtualenvs.create false`
1. install all dependencies in one command (have to be run in the project directory):\
`poetry install`
1. `git clone https://github.com/neurotechx/moabb.git && cd moabb`
2. `pip install -e .`

See [contributors' guidelines](CONTRIBUTING.md) for detailed explanation.

### Requirements we use

See `pyproject.toml` file for full list of dependencies

## Running

### Verify Installation
Expand All @@ -124,58 +114,6 @@ concepts and use cases. Also, we have a several [examples](./examples/) availabl

You might be interested in [MOABB documentation][link_moabb_docs]

### Moabb and docker

Moabb has a default image to run the benchmark. You have two options to download this
image: build from scratch or pull from the docker hub. **We recommend pulling from the
docker hub**.

If this were your first time using docker, you would need to **install the docker** and
**login** on docker hub. We recommend the
[official](https://docs.docker.com/desktop/install/linux-install/) docker documentation
for this step, it is essential to follow the instructions.

After installing docker, you can pull the image from the docker hub:

```bash
docker pull baristimunha/moabb
# rename the tag to moabb
docker tag baristimunha/moabb moabb
```

If you want to build the image from scratch, you can use the following command at the
root. You may have to login with the API key in the
[NGC Catalog](https://catalog.ngc.nvidia.com/) to run this command.

```bash
bash docker/create_docker.sh
```

With the image downloaded or rebuilt from scratch, you will have an image called `moabb`.
To run the default benchmark, still at the root of the project, and you can use the
following command:

```bash
mkdir dataset
mkdir results
mkdir output
bash docker/run_docker.sh PATH_TO_ROOT_FOLDER
```

An example of the command is:

```bash
cd /home/user/project/moabb
mkdir dataset
mkdir results
mkdir output
bash docker/run_docker.sh /home/user/project/moabb
```

Note: It is important to use an absolute path for the root folder to run, but you can
modify the run_docker.sh script to save in another path beyond the root of the project. By
default, the script will save the results in the project's root in the folder `results`,
the datasets in the folder `dataset` and the output in the folder `output`.

## Supported datasets

Expand All @@ -196,7 +134,7 @@ can be seen [here](https://github.com/NeuroTechX/moabb/wiki/Datasets-Support).
The founders of the Mother of all BCI Benchmarks are [Alexander Barachant][link_alex_b]
and [Vinay Jayaram][link_vinay]. This project is under the umbrella of
[NeuroTechX][link_neurotechx], the international community for NeuroTech enthusiasts. The
project is currently maintained by [Sylvain Chevallier][link_sylvain].
project is currently maintained by [Sylvain Chevallier][link_sylvain] and [Bruno Aristimunha][link_bruno].

### What do we need?

Expand Down Expand Up @@ -335,3 +273,4 @@ BCI algorithms applied on an extensive list of freely available EEG datasets.
[link_moabb_docs]: https://neurotechx.github.io/moabb/
[link_arxiv]: https://arxiv.org/abs/1805.06427
[link_jne]: http://iopscience.iop.org/article/10.1088/1741-2552/aadea0/meta
[link_bruno]: https://www.linkedin.com/in/bruaristimunha/
111 changes: 0 additions & 111 deletions docs/source/CONTRIBUTING.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
"sphinx_design",
"sphinx_gallery.gen_gallery",
"gh_substitutions",
"m2r2",
"myst_parser",
"numpydoc",
"sphinx_favicon",
"sphinxcontrib.jquery",
Expand Down
34 changes: 6 additions & 28 deletions docs/source/install/install_source.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,45 +47,23 @@ Building MOABB from source with the development environment

If you want to build from source to work on MOABB itself, then follow these steps:

1. Install poetry by running the following command (only needs to be done once per machine):

.. code-block:: bash

curl -sSL https://install.python-poetry.org | python3 -

You could also check checkout `poetry installation instruction <https://python-poetry.org/docs/#installation>`__ or
use `conda forge version <https://anaconda.org/conda-forge/poetry>`__

We need the most updated version of the poetry to ensure the compatibility with optional dependency.

.. note::
If you have any group-related errors at the end of this section, you may not run the proper version of poetry.


2. (Optional) We recommend disabling automatic environment creation:
1. You will need to clone the repository from GitHub and install the dependencies.

.. code-block:: console

poetry config virtualenvs.create false


.. note::
This step is optional. Skip if you are not sure.
3. If you want to install without any optional dependency
git clone https://github.com/neurotechx/moabb && cd moabb

You will need to run this command in the project directory:
2. You will need to run this command in the project directory:

.. code-block:: console

poetry install

4. If you want to install with an optional dependency
pip install -e .

You will need to run this command in the project directory:
3. If you want to install with an optional dependency

.. code-block:: console

poetry install --extras "deeplearning carbonemission docs"
pip install -e .[deeplearning,carbonemission,docs,tests]

For a full list of dependencies, see the pyproject.toml file.

Expand Down
Loading
Loading