-
-
Notifications
You must be signed in to change notification settings - Fork 18.6k
BLD: Drop Python 3.10 support #60059
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
Comments
I believe we follow NumPy who has adopted Spec0, which means we should drop support with pandas 3.0 (or even 2.3?). |
I think 2.3 will continue to support 3.10 but yea probably worth dropping by the time 3.0 gets out |
I would also certainly keep support for 2.3 (there is not that much reason to drop it now and backport those changes IMO) |
The motivation for SPEC 0 - Minimum Supported Dependencies is that limiting the scope of supported dependencies helps reduce the maintenance burden, allowing developers to focus on adding features, fixing bugs, and optimizing performance. SPEC 0 states that support for Python versions should be dropped 3 years after their initial release. Python 3.10 was released in October 2021 and so, according to the spec we now follow, should be dropped for the forthcoming 2.3 release. We don't drop support for Python in patch releases and so if not dropped for 2.3, we would need to ensure support for all subsequent 2.3.x releases. If we follow previous release schedules this could be around 6 months.
there is also not that much reason not to drop it? |
For a maintenance branch like 2.3, it's more work to drop it than to not drop it .. Also, SPEC0 does not require you to drop a version immediately when allowed according to their schedule, only that it is fine to drop it from that point |
I would add that maintaining 2.3 has already been rather challenging. The bar to put any changes into that which are not related to the string data type should be really high, and I don't think dropping 3.10 would be worth it |
I must be underestimating the amount of work to drop support. I wasn't expecting the codebase on 2.3.x to be updated to take advantage of python 3.11 features just changing |
It's more risk of allowing 3.11+ features into main and then having to come up with an alternative during backport |
@WillAyd that risk is more related to dropping 3.10 already now in Anyway, it's indeed not much work to drop it on 2.3.x (we probably already spent more time discussing this than it takes to actually do it ..), but it is still work with basically zero benefit to us (it's not that we are planning to use features on the 2.3.x branch, so then why drop it?), just for the reason to blindly follow a strict interpretation of SPEC0. |
In our version policy we updated the Python support section to say pandas mirrors the NumPy guidelines for Python support. which itself states So I don't think we could drop support for Python 3.10 in a patch release. AFAICT there is not this restriction in SPEC 0.
this will happen soon anyway when we drop 3.10 on main. I don't get that we would need a alternative. We would need an alternative if we don't drop 3.10 on 2.3.x? |
What is the urgency to dropping 3.10 on main? I was under the impression we would just do it closer to the 3.x release, towards the end of the 2.3 lifecycle |
It was mentioned that we shouldn't blindly follow the spec but that spec has been created with recommendations that all projects across the Scientific Python ecosystem adopt it. IIUC pandas 3.0.0rc could be released very shortly after 2.3.0. If this happens then I assume we will not be following our normal release lifecycle and will be actively maintaining 2 released versions simultaneously. |
of course, as users assume we are still following NEP29 until we communicate the changes (currently in the 3.0.0 release notes), we could drop Python 3.10 in 3.1 instead of 3.0 and this avoids the potential overlap with the 2.3.x branch. |
FWIW |
in #60059 (comment) I wrote
6 months on from this comment and with 2.3 not yet released we should ensure that dropping Python 3.10 support is now done before the 2.3 release which is scheduled for the end of this month? #59664 (comment) |
I think it's OK for 2.3 to keep support for Python 3.10. For pandas 3.0, I would support dropping Python 3.10 |
Research
I have searched the [pandas] tag on StackOverflow for similar questions.
I have asked my usage related question on StackOverflow.
Link to question on StackOverflow
NA
Question about pandas
Per spec0, python 3.10 support should be dropped. Will pandas 3 still support it?
The text was updated successfully, but these errors were encountered: