-
Notifications
You must be signed in to change notification settings - Fork 143
Drop Python 3.9 #682
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
Drop Python 3.9 #682
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine, but I'm wondering why? Is 3.9 that old??? 👴
This might be a reason: https://scientific-python.org/specs/spec-0000/ |
Yes that's the reason |
Makes sense, though sometimes it feels like the world moves too quickly. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #682 +/- ##
==========================================
+ Coverage 80.83% 80.86% +0.02%
==========================================
Files 162 162
Lines 46830 46793 -37
Branches 11447 11442 -5
==========================================
- Hits 37857 37838 -19
+ Misses 6710 6696 -14
+ Partials 2263 2259 -4
|
I knew there was some reason I had a bad feeling about this. I marked this as draft as a safety measure so that nobody merges before we discuss a little bit. There's currently a bottleneck because on conda-forge we rebuilt PyTensor with support for Python 3.12 only since PyTensor 2.19. But we're pinning I propose that we first cut a release that supports PyTensor 2.19. Then we'll have a version of PyMC that works for the full range 3.9-3.12. (Maybe it doesn't matter, but my intuition is that having a release with a nice range like this makes it a lot easier to satisfy dependencies.) Then we can immediately follow that up with another release dropping 3.9 support. |
I don't care, but the whole point of that spec is that no scientific package has to support more than 3 major python versions (assuming one per year I guess). And we were already restricted to 3 up until pretty much now |
Sorry, I butchered the versions in my above now-edited comment (or I'm not thinking straight). If we merge this right now, we'll only be supporting 2 major Python versions. With my suggestion, we'll have one version that supports 4 and then drop down to a nominal 3 as you state. |
This will be incorporated as a "major release", so PyMC will only be able to depend on it when we manually bump the dependency limit over there, so it can't have any effect? |
Ah... ok, I think that makes sense. You're saying that we merge this and release it as PyTensor 2.20. Then over in PyMC, completely independently we increase the range to include PyTensor 2.19 and support Python 3.9-3.12 which matches my suggestion. Then, again in PyMC completely independently when we pin to PyTensor 2.20, we support the nominal Python 3.10-3.12 as per scientific python spec. Thanks for walking me through that. 😅 EDIT: Fixed the logic to be in line with 2.19/2.20 as pointed out in the next comment |
Yes except we are not using semver so major changes happen on intermediate numbers. The logic you mentioned would be with 2.19/2.20 |
PyPI / Build wheels on ubuntu-20.04 failed, I restarted it. |
Thanks @Armavica! |
Description
Related Issue
Checklist
Type of change