enthought / mayavi

3D visualization of scientific data in Python
http://docs.enthought.com/mayavi/mayavi/
Other
1.28k stars 282 forks source link

BUG: Work around 9.2.2 bug #1180

Closed larsoner closed 1 year ago

larsoner commented 1 year ago
  1. Works around

  2. Adds a VTK_PARSER_VERBOSE env var that can be set to 1 or true to get it to print instantiations/methods as they are tried. I am tired of uncommenting the debug lines, it would be nice just to set this in the conda-forge build and be an import and two calls away from a MWE next time (just from looking at the pip install -ve . traceback)!

  3. Adds a TVTK_VERBOSE env var that enables printing during the TVTK tests (which were segfaulting at one point)

  4. Skips pyqt5+decorated-scene GC test until pyface 7.5 comes out, which should include https://github.com/enthought/pyface/pull/1161 (hasattr->RuntimeError bug causing segfaults)

  5. Sets Python min version to 3.7

  6. Has CIs use 3.7 and now 3.10

  7. Adds dependency on packaging (which should be fairly trivial/common anyway). We could loosen this and make it a test-only dependency, but again it's pretty easy to satisfy so seems okay to me

Closes #1178

larsoner commented 1 year ago

... assuming this is okay, it would be great to merge this and cut a release since 9.2.2 is on PyPi now. People are going to start having problems with pip install mayavi soon I think :(

larsoner commented 1 year ago

Bumping to a minimum of 3.7 here, too, since 3.6 is EOL and it's nice to be able to use f-strings

larsoner commented 1 year ago

Okay finally all green, top comment updated with actual changes. Ready for review/merge from my end!

I'd recommend updating the branch protection rules before merging this PR both to make merging easier and ensure the rules are correct for future PRs.

prabhuramachandran commented 1 year ago

I will take a look tonight. Many thanks!

larsoner commented 1 year ago

@prabhuramachandran worth a quick 4.8.1 release for this? 9.2.2 is on PyPi so I think a lot of folks will be affected by this.

prabhuramachandran commented 1 year ago

Yes, I can try to do this in a couple of days. I am primarily concerned about what we do regarding numpy distutils and other issues in the use of setup.py. I have lost touch with these decisions. I am finding it hard to keep up with the packaging solutions today which more often than not (at least when I checked) are sub-optimal (no support for the corner cases that matter in scientific computing) but then are eventually forced on us. Do you have any recommendations so I can catch up or decide about this?

prabhuramachandran commented 1 year ago

There is also this: https://github.com/enthought/mayavi/issues/969 which still needs resolution but I haven't had the time to look at this closely. The 9.2.2 issue is serious enough to warrant an emergency release.

larsoner commented 1 year ago

I am primarily concerned about what we do regarding numpy distutils and other issues in the use of setup.py

For a couple of projects recently I've started using pyproject.toml which seems like the way of the future (and I see it used by NumPy, SciPy, etc.) and it hasn't been too bad. But the Mayavi's build configuration is a bit more complex than those projects, so who knows.

There is also this: https://github.com/enthought/mayavi/issues/969 which still needs resolution but I haven't had the time to look at this closely.

That one is bigger/harder/more impactful I think. For that I'd bump to 4.9 or even 5.0 :)