-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Remove support for python 3.8 #24919
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
Conversation
- os: ubuntu-20.04 | ||
python-version: 3.8 | ||
extra-requirements: '-r requirements/testing/extra.txt' | ||
CFLAGS: "-fno-lto" # Ensure that disabling LTO works. |
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.
We probably want to keep the no LTO test case?
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.
added back (to 3.9)
The minimum test is failing because we are building pillow from source with out webp, we probably should add a skip check on that test (I have a vague memory of someone else reporting the same failure, but not sure where). |
Alternatively, we could bump the minimum version of Pillow if we wanted to ensure wheels are available. Looks like the first version to supply a 3.9 wheel is pillow 8.0.0 (released Oct 2020) By NEP 29/SPEC 0 standards (24 months) would be pillow 8.1 or thereabouts (and later for expected mpl 3.8 release date) |
webp was here: #24711 (Py 3.12) so it may still make sense to have it fail gracefully (people may build on strange platforms etc). |
Co-authored-by: Oscar Gustafsson <oscar.gustafsson@gmail.com>
By Pillow's docs, they do not support pillow <8.0 on py3.9 so I think I'll start there. I don't disagree that a graceful fallback/skip/xfail is a better solution long term, just lean towards following upstream when it comes to python support. If it still fails, I'll add the skips here, but if it passes, I think that can be done in an alternate PR (either on its own or in #24711) |
Other potential bump to minimum supported versions (picked out because the minimum version currently specified is not installable as a wheel on 3.9):
|
Appveyor may need to be 3.10, waiting for the queue to see if the problems on 3.11 persist |
Failure comes from GTK4-warnings: https://gitlab.gnome.org/GNOME/pygobject/-/issues/494 |
It looks likes we already filter warnings on that test and just need to add |
* `contourpy <https://pypi.org/project/contourpy/>`_ (>= 1.0.1) | ||
* `cycler <https://matplotlib.org/cycler/>`_ (>= 0.10.0) | ||
* `dateutil <https://pypi.org/project/python-dateutil/>`_ (>= 2.7) | ||
* `fontTools <https://fonttools.readthedocs.io/en/latest/>`_ (>= 4.22.0) | ||
* `kiwisolver <https://github.com/nucleic/kiwi>`_ (>= 1.0.1) | ||
* `kiwisolver <https://github.com/nucleic/kiwi>`_ (>= 1.3.1) | ||
* `NumPy <https://numpy.org>`_ (>= 1.20) |
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.
Bump to 1.21 while at it? (End of month)
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.
Feel free to self merge if you do not want to bump numpy now.
Lets do numpy in it's own PR. |
Did the Azure tests stop working with this PR or was it just around this PR (or am I missing something)? |
NEP 29 was superseded by the scientific python ecosystem coordination guideline SPEC 0 — Minimum Supported Versions. Where NEP had a 42 month support windows (3.5 years) for each Python version, SPEC 0 recommends a 3 year support window. If we were to follow SPEC 0, than Python 3.9 support can already be dropped, since it was released October 5th, 2020. |
3.8 is already released; we aren't going to change the supported Python version in it. |
Not dropping Python 3.8 support for the existing Matplotlib 3.8.x releases of course, but it can be dropped on the current master branch (towards the 3.9.x releases). (which coincidentally is very fitting, requiring Python 3.9 for Matplotlib 3.9) |
PR Summary
PR Checklist
Documentation and Tests
pytest
passes)Release Notes
.. versionadded::
directive in the docstring and documented indoc/users/next_whats_new/
.. versionchanged::
directive in the docstring and documented indoc/api/next_api_changes/
next_whats_new/README.rst
ornext_api_changes/README.rst