viscm icon indicating copy to clipboard operation
viscm copied to clipboard

TST: fix minimal requirement spec and add CPython 3.12 and 3.13 to CI

Open neutrinoceros opened this issue 1 year ago • 5 comments

My main motivation here was to replace ~= with >= in dependency specs, because numpy~=1.22 is resolved as numpy>=1.22, <2, which blocks downstream testing on Python 3.13 (which isn't supported by numpy<2). While I was at it, I also added Python 3.12 and 3.13 to CI and "fixed" typechecking. I gave this revised CI a spin on my fork and found that while everything is green with PyQt, some tests will fail against PySide6, which looks like an upstream bug to me (but I haven't digged much further).

neutrinoceros avatar Oct 26 '24 20:10 neutrinoceros

Shall we drop support for Python 3.9 and 3.10 under SPEC0? scientific-python.org/specs/spec-0000 At minimum, I feel we should remove 3.9 support.

IMO Dropping Python versions is beyond the scope of this PR, but I'm happy to contribute that too if you'd like. My two cents is that dropping 3.9 seems to be in line with what many scientific packages are doing (or have already done), but maybe dropping 3.10 is a little bit aggressive at this point. Any way, your call !

I haven't thought about Qt in some time. Why change from PyQt6 -> PyQt, etc?

I'm just separating concerns here: CI tests the interface as defined by your project's extras (PySide and PyQt), not the implementation detail of what happens to be in these sets of extras. But arguably that is out of scope too. Would you like me to split this PR in two ? Is this change undesirable and should be reverted ?

neutrinoceros avatar Nov 04 '24 07:11 neutrinoceros

Thank you for explaining, it makes sense now! Agreed dropping support for Python versions can go in a different PR.

mfisher87 avatar Nov 04 '24 15:11 mfisher87

I'm just separating concerns here: CI tests the interface as defined by your project's extras (PySide and PyQt), not the implementation detail of what happens to be in these sets of extras. But arguably that is out of scope too. Would you like me to split this PR in two ? Is this change undesirable and should be reverted ?

No, this makes sense, thank you for explaining. Any ideas why the PySide workflows are failing?

mfisher87 avatar Nov 04 '24 18:11 mfisher87

Any ideas why the PySide workflows are failing?

Nope. It looks like a bug on their side but that's as much as I can tell.

neutrinoceros avatar Nov 04 '24 20:11 neutrinoceros

Hmm... I'll need to find some time to play with this more.

mfisher87 avatar Nov 05 '24 01:11 mfisher87