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

Stop support for Python 3.9 #1316

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

Stop support for Python 3.9 #1316

wants to merge 4 commits into from

Conversation

Carreau
Copy link
Member

@Carreau Carreau commented Feb 12, 2025

New major version are a good time to drop support for older versions. I thihnk 3.9 should not be an issue, I woudl argue for removal of 3.10 as well.

Carreau and others added 2 commits February 12, 2025 11:38
New major version are a good time to drop support for older versions.
I thihnk 3.9 should not be an issue, I woudl argue for removal of 3.10
as well.
@Carreau Carreau added this to the 7.0 milestone Feb 12, 2025
ipykernel/ipkernel.py Outdated Show resolved Hide resolved
@davidbrochart
Copy link
Collaborator

Why should we drop Python 3.9, since it has not reached EOL?

@Carreau
Copy link
Member Author

Carreau commented Feb 12, 2025

Please read the description of the PR:

  • We are doing a major version, so it's a good time to drop.

Also:

Waiting for EOL is not a good reason, EOL means that upsrtream have stopped supporting their package, in general it's better to stop before their EOL so that they can stop their support knowing they don't people in the dust.

Saying you need to wait for EOL, is like saying "no it's fine you can use a deprecated feature, it has not been removed.

@Carreau
Copy link
Member Author

Carreau commented Feb 12, 2025

Plus explicitly for 3.9, some test are flaky and annoying only on 3.9

@davidbrochart
Copy link
Collaborator

These are still not valid reasons IMO.
Also, AFAIK we don't do that in other Jupyter projects.

@Carreau
Copy link
Member Author

Carreau commented Feb 12, 2025

Meh, if you don't want that's fine.

I find it a bit strange as for example main numpy is 3.11+, matplotlib is 3.10+ to lag more than 2 years behind and I have a hard time seing how someone that still python 3.9 can justify that they must have ipykernel 7+. It's not like dropping 3.9 support in 7.0 is still going to prevent 6.x to be installed...

Also, AFAIK we don't do that in other Jupyter projects.

This is factually false as IPython does it. Unless you do not consider IPython as a Jupyter project ?

I think you are also adding maintenance burden to yourself and potentially pushing some contributors away.

I personally only have so much free time I'm willing to invest to fix bugs on older Pythons, and there are also limited time I can justify to clients WRT python versions they don't use anymore. The "oh I can't do that because we still support 3.9", writing conditional code for older Python is becoming tiresome.

Feel free to close.

@davidbrochart
Copy link
Collaborator

davidbrochart commented Feb 12, 2025

I'm just saying my opinion, thus not closing.
I'm also not saying IPython is not a Jupyter project, but I don't know any other Jupyter project that does what you suggest.

@Carreau
Copy link
Member Author

Carreau commented Feb 12, 2025

I'm also not saying IPython is not a Jupyter project, but I don't know any other Jupyter project that does what you suggest.

Ah sure, well, but at the same time some project still advertise compatibility for Python 3.8 (jupyter_core, for example), and I don't think many project have discussed the issue, I'm guessing many rely on the maintainer tools default:

But notebook for example test on 3.9+

But this is again bumps because they had to (in my understanding), and I'd love for project to actually discuss python supported window instead of just doing it as late as possible when it's necessary because this is super painful.

Without planning and a clear written rule it's sometime really hard to have discussion with clients.

I would feel much better to know that ipykernel 7+ is Python 3.11+ only, than to have to say that yes, 7.0 to 7.6 is 3.9+, and 7.7 onward in 3.10+ and to be aware of that at the last minute.

@davidbrochart
Copy link
Collaborator

I feel this is something that has to be discussed at the Jupyter level, because one Jupyter project will affect many others, and this is especially true for ipykernel.
My understanding is that we support Python versions until EOL, but I may be wrong.

@ianthomas23
Copy link
Collaborator

Personally I am +1 on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants