Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: Add mnelab, polars, update to vtk 9.3 and PySide6 #273

Merged
merged 39 commits into from
Jul 9, 2024

Conversation

larsoner
Copy link
Member

@larsoner larsoner commented Jun 19, 2024

Closes #82
Closes #250

@hoechenberger
Copy link
Member

hoechenberger commented Jun 19, 2024

@larsoner The problem here seems to be that graphviz pins to libexpat >=2.6.2, but vtk-base needs an older version (<2.6)

@hoechenberger
Copy link
Member

hoechenberger commented Jun 19, 2024

Actually … no, disregard my previous comment, this doesn't check out, at least on my Apple Silicon Mac:

❯ conda search vtk-base==9.3.0 --info |grep libexpat
  - libexpat >=2.6.2,<3.0a0
  - libexpat >=2.6.2,<3.0a0
  - libexpat >=2.6.2,<3.0a0
  - libexpat >=2.6.2,<3.0a0
  - libexpat >=2.6.2,<3.0a0
❯ conda search graphviz==11.0.0 --info |grep libexpat
  - libexpat >=2.6.2,<3.0a0

@hoechenberger
Copy link
Member

hoechenberger commented Jun 19, 2024

Some new Mayavi builds have been published less than an hour ago, maybe they'll fix the issue? :D

Edit: just now realizing it what you who did that! As usually, you seem to have everything under control 😄

@larsoner
Copy link
Member Author

Now it looks like at least conda-forge/liblsl-feedstock#11 is in the way

@larsoner
Copy link
Member Author

macos-11 is no longer available, I'll tweak then we should be good @hoechenberger , feel free to mark for merge-when-green if you're happy!

I dropped yasa because it's blocking a SciPy upgrade and they haven't merged my PR to fix things (and then cut a release), hope that's okay

@hoechenberger hoechenberger enabled auto-merge (squash) June 29, 2024 19:05
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04] # Intel and Apple Silicon, respectively
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this comment seems wrong?

@larsoner
Copy link
Member Author

Ooof looks like there is a problem with vtk 9.3.0 (and upward) -- it's built against qt6-main. One way forward would be to follow conda/constructor#515 and package our own PyQt6. WDYT @hoechenberger ?

@larsoner
Copy link
Member Author

... or just hope people don't use plain Python + interactive mode + plotting and stick with PySide6 :(

@larsoner larsoner disabled auto-merge June 29, 2024 20:43
@hoechenberger
Copy link
Member

hoechenberger commented Jun 29, 2024

@larsoner More and more conda-forge packages are migrating to qt6 (and hence pyside6). So this is something we'll have to deal with anyway. An alternative would be to switch our installers away from conda and install everything from PyPI. This should work for all platforms except for aarch64. It's what I do in my dev container PR except for vtk and a few other packages (since they're missing for aarch64 on PyPI). But we currently don't provide installers for aarch64 anyway so...

And yes we wouldn't be able to bundle as many tools as we're doing now, this is clear

@larsoner larsoner changed the title ENH: Add mnelab, update to vtk 9.3 and PySide6 ENH: Add mnelab, polars, update to vtk 9.3 and PySide6 Jul 6, 2024
@larsoner larsoner enabled auto-merge (squash) July 6, 2024 18:00
@larsoner
Copy link
Member Author

larsoner commented Jul 6, 2024

This is close. One blocker is actually Spyder because it explicitly depends on pyqt.

@cbrnr
Copy link
Collaborator

cbrnr commented Jul 6, 2024

But why is pyqt problematic?

@larsoner
Copy link
Member Author

larsoner commented Jul 6, 2024

Because there are only PyQt5 builds (no PyQt6) which means it pulls in qt-main in addition to qt6-main and this causes problems

@cbrnr
Copy link
Collaborator

cbrnr commented Jul 6, 2024

Ah, I misread that as qtpy. Too many qt py side 5 6 I guess 😄. It's weird that Spyder does not only depend on qtpy though, since I thought they develop and maintain qtpy as an integral part of Spyder...

@hoechenberger
Copy link
Member

@cbrnr afaik their resources are super limited and they didn't have the time to test with qt6 yet

@hoechenberger
Copy link
Member

@hoechenberger
Copy link
Member

hoechenberger commented Jul 6, 2024

@larsoner We could consider dropping Spyder and guiding users to the Spyder standalone installers. We'd need to provide some setup script to deploy a proper configuration to make it easy to use MNE (installed via the MNE installers) though ...

@larsoner larsoner merged commit a19a3f8 into mne-tools:main Jul 9, 2024
15 checks passed
@larsoner larsoner deleted the bump branch July 9, 2024 19:43
@larsoner
Copy link
Member Author

larsoner commented Jul 9, 2024

Hah, apparently we left automerge enabled! But that's okay -- I think for 1.8 we probably should drop Spyder from our installers and point people toward their standalone installers. I don't think it'll be too bad to configure it to use our Python distribution/kernel because we install spyder-kernels here. But it's something we should do for 1.8 docs. I'll open an issue in MNE-Python and tag for 1.8 so we don't forget.

@hoechenberger
Copy link
Member

thanks Eric! the inclusion of MNELAB is worth it!

speaking of which, we should probably add it to the installer menu

it's something we need to take care of in the mne-feedstock repo

@larsoner
Copy link
Member Author

larsoner commented Jul 9, 2024

Somewhere we have a note about moving the installer menu stuff to this repo, is that still possible? If feel free to give it a shot, or if you know if another project that does it in the constructor I can look at their code and adapt.

I'll look at Spyder and Napari at least to see if they have something to work from

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Include Polars Add MNELAB (requires Qt 6)
3 participants