Drop Python 3.8 support, require Python 3.9+#321
Conversation
Apply pyupgrade for Python 3.9+
|
I agree with dropping support for Python 3.8, although I think we should officially decide whether we're following the CPython support schedule, NEP 29 (superseded), SPEC 0, or a different support schedule. Note that we're no longer using pyupgrade, we now use ruff instead. |
|
I'm inclined to follow the CPython / PEP release schedule shown here, e.g. PEP 569 for Python 3.8. This project is mostly pure Python, so it isn't too much trouble to support 4 to 5 Python versions at the same time. But say if, for example, #223 were implemented to use pybind11 then SPEC 0 would make more sense to limit the number of binary wheel combinations. |
mwtoews
left a comment
There was a problem hiding this comment.
Changes look good. And if we all agree to the CPython / PEP release schedule, then the timing of this change is good too.
With 1.3.0 freshly released this seems like a good moment to drop Python 3.8 support. It's almost end-of-life and SPEC 0 already recommended dropping Python 3.8 over a year ago.
In fact, they even recommend already dropping Python 3.9 and requiring 3.10+, which many packages do. But that might be a bit much for one PR.
So this PR bumps the required Python version to 3.9, removes 3.8 from the CI and test files and applies pyupgrade with
--py39-plus.Of course this will only affect future releases, existing releases stay compatible with Python 3.8 and can continued to be used.