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

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

neutrinoceros
Copy link

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).

Copy link
Collaborator

@mfisher87 mfisher87 left a comment

Choose a reason for hiding this comment

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

Looks good to me! Thank you! A couple of thoughts:

  • Shall we drop support for Python 3.9 and 3.10 under SPEC0? https://scientific-python.org/specs/spec-0000/ At minimum, I feel we should remove 3.9 support.
  • I haven't thought about Qt in some time. Why change from PyQt6 -> PyQt, etc?

@neutrinoceros
Copy link
Author

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 ?

@mfisher87
Copy link
Collaborator

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

@mfisher87
Copy link
Collaborator

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?

@neutrinoceros
Copy link
Author

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.

@mfisher87
Copy link
Collaborator

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

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.

2 participants