MNELAB provides a graphical user interface for MNE-Python (the most popular Python package for EEG/MEG analysis) and ensures full transparency by recording the underlying commands for each action in its command history.
Key features include:
- Cross-platform support (Linux, macOS, Windows).
- A command history that records the underlying MNE-Python commands for each action, allowing users to learn how to use MNE-Python and to reproduce their analyses in code.
- Import data from various formats supported by MNE-Python, and some additional formats like XDF (
.xdf,.xdfz,.xdf.gz), MATLAB (.mat), NumPy (.npy), and BVRF (.bvrh,.bvrd,.bvrm,.bvri). - Export to EDF, BDF, BrainVision, EEGLAB, and FIFF formats.
- XDF-specific features such as chunk inspection (useful for debugging corrupted XDF files), stream selection, metadata inspection, resampling, gap detection and filling, and more.
- Support for various ICA algorithms, including FastICA, Infomax ICA, and PICARD.
- Automatic classification of independent components using ICLabel.
- Comprehensive tools for managing events and annotations.
- Support for channel locations (montages), rereferencing, cropping, filtering, epoching, and more.
- Plotting capabilities for raw data, epochs, evoked responses, independent components, ERD/ERS maps, and more.
The documentation contains hands-on examples and tutorials for different use cases. Check out the changelog to learn what we added, changed, or fixed.
We recommend our standalone installers currently available for macOS and Windows:
If you use Arch Linux, you can install MNELAB from the AUR (e.g., yay -S python-mnelab).
Alternatively, you can use uv to run MNELAB on all platforms:
uvx mnelab
If you want to run the latest development version, you can use the following command:
uvx --from https://github.com/cbrnr/mnelab/archive/refs/heads/main.zip mnelab
On Linux, running MNELAB via uvx mnelab uses the Fusion style shipped with PySide6, which may not fit well with the rest of the system. However, if you use KDE, you can set the QT_PLUGIN_PATH environment variable to force the use of the native KDE theme instead, for example:
QT_PLUGIN_PATH=/usr/lib/qt6/plugins uvx mnelab
The contributing guide contains detailed instructions on how to contribute to MNELAB.

