Skip to content

Conversation

Armavica
Copy link
Member

Description

Related Issue

Checklist

Type of change

  • New feature / enhancement
  • Bug fix
  • Documentation
  • Maintenance
  • Other (please specify):

@ricardoV94 ricardoV94 requested a review from maresb March 25, 2024 17:21
Copy link
Contributor

@maresb maresb left a 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??? 👴

@Armavica
Copy link
Member Author

Looks fine, but I'm wondering why? Is 3.9 that old??? 👴

This might be a reason: https://scientific-python.org/specs/spec-0000/

@ricardoV94
Copy link
Member

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

@maresb
Copy link
Contributor

maresb commented Mar 25, 2024

Makes sense, though sometimes it feels like the world moves too quickly.

@codecov-commenter
Copy link

Codecov Report

Attention: Patch coverage is 76.28571% with 83 lines in your changes are missing coverage. Please review.

Project coverage is 80.86%. Comparing base (60e2510) to head (95ac1c6).
Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            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     
Files Coverage Δ
pytensor/compile/compilelock.py 97.05% <ø> (-0.09%) ⬇️
pytensor/compile/function/pfunc.py 82.92% <100.00%> (ø)
pytensor/compile/mode.py 84.40% <100.00%> (ø)
pytensor/compile/monitormode.py 63.04% <ø> (ø)
pytensor/compile/profiling.py 76.32% <100.00%> (ø)
pytensor/compile/sharedvalue.py 93.75% <100.00%> (ø)
pytensor/configparser.py 86.36% <100.00%> (-0.06%) ⬇️
pytensor/graph/destroyhandler.py 69.20% <100.00%> (ø)
pytensor/graph/op.py 87.50% <100.00%> (ø)
pytensor/graph/replace.py 84.21% <100.00%> (ø)
... and 77 more

... and 2 files with indirect coverage changes

@maresb maresb marked this pull request as draft March 27, 2024 09:11
@maresb
Copy link
Contributor

maresb commented Mar 27, 2024

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 pytensor <2.19 in PyMC. So if we were to merge this now, then we'd only support Python 3.10 and 3.11, which feels a bit narrow to me.

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.

@ricardoV94
Copy link
Member

ricardoV94 commented Mar 27, 2024

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

@maresb
Copy link
Contributor

maresb commented Mar 27, 2024

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.

@ricardoV94
Copy link
Member

ricardoV94 commented Mar 27, 2024

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?

@maresb
Copy link
Contributor

maresb commented Mar 27, 2024

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

@maresb maresb marked this pull request as ready for review March 27, 2024 10:34
@ricardoV94
Copy link
Member

ricardoV94 commented Mar 27, 2024

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

@ricardoV94
Copy link
Member

PyPI / Build wheels on ubuntu-20.04 failed, I restarted it.

@ricardoV94 ricardoV94 merged commit 5a47550 into main Mar 28, 2024
@ricardoV94
Copy link
Member

Thanks @Armavica!

@Armavica Armavica deleted the py310 branch April 3, 2024 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Drop support for Python 3.9

5 participants