Python: Set Python 3.8 as minimal version#4784
Conversation
8da7c53 to
dfb14b3
Compare
|
I'm fine with this change, since I think we still support 3.7 for the legacy API. It really comes down to what people in the community are using, but since this is the new Python library I don't think there are that many people using it yet. |
|
I just merged #4767 which had a little logic around 3.7, which you might want to remove as part of this PR. |
|
I think this is ok. Security support will be dropped for 3.7 within a year which means in a few months, everyone will begin scrambling to get everything off of 3.7 anyway. |
Python 3.8 has some nice features, like: - The Walrus operator := https://realpython.com/python-walrus-operator/ - Ability to cache properties: @cached_property https://docs.python.org/3/library/functools.html#functools.cached_property 3.7 is a LTS that has still support for a bit over a year: https://endoflife.date/python I've added 3.10 to the CI as well. Not sure if we can deprecate 3.7 just yet, since it is still being used a lot: That being said, upgrading from 3.7 to 3.8 should be quite easy now a days with minimal breaking changes on the Python side, and just swapping out a base docker image.
dfb14b3 to
57ef622
Compare
|
Thanks @danielcweeks for noticing. I've just updated the PR and removed all the Python 3.7 related stuff (including singledispatch). Less is more 💪🏻 |
|
@samredai I agree, and once all the Debian/Ubuntu-based images start shipping 3.8, I'll go very fast :) Thanks! |
57ef622 to
8e218e0
Compare
kbendick
left a comment
There was a problem hiding this comment.
+1. And thank you for the graph of downloads! Very insightful.
|
Sounds like there's consensus around moving to 3.8. I'll merge this. Thanks, @Fokko! |
|
Also, Dask requires 3.8+ so we're in good company. |
Python 3.8 has some nice features, like:
3.7 has still support for a bit over a year: https://endoflife.date/python
I've added 3.10 to the CI as well. Not sure if we can deprecate 3.7 just yet since it is still being used a lot:
The Python version that downloads packages from PyPI
Pulled this from BigQuery: https://console.cloud.google.com/bigquery?p=bigquery-public-data&d=pypi&page=dataset
That being said, upgrading from 3.7 to 3.8 should be quite easy nowadays with minimal breaking changes on the Python side, and just swapping out a base docker image.