mne-tools / mne-tools/mne-python
MAINT: Offload GUI abstraction
@wmvanvliet is already working on this.
Since Aug 24, 2026.
- Dominant language
- Python
- Stars
- 3.5k
- Forks
- 1.6k
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 100
Description
@alexrockhill and now @wmvanvliet have raised issues about the complexity of our GUI backend abstraction. TL;DR is that it works most of the time for what we already have (brain and coreg I think), but can be very difficult to add new stuff.
I went looking for an abstraction layer for Qt/ipywidgets and it looks like there is one:
https://github.com/pyapp-kit/magicgui
It's MIT licensed, actively developed, and available on PyPI and conda-forge. One disadvantage is that it looks like it has a truck factor of one. But with our expertise maybe we can become active contributors there instead of just in our own code!
I'm tempted to take a look at look in the coming weeks at how it works and see if I can fairly easily get a pyvistaqt.BackgroundPlotter in when it's Qt and a trame-backend pyvista.Plotter when it's in notebook with some interaction.
EDIT: Might also take care of https://github.com/mne-tools/mne-python/issues/11027
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.