apache / arrow

Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing
https://arrow.apache.org/
Apache License 2.0
14.28k stars 3.47k forks source link

[Python][Packaging] Drop Python 3.8 support #43518

Open jorisvandenbossche opened 1 month ago

jorisvandenbossche commented 1 month ago

Previous issue for Python 3.7: https://github.com/apache/arrow/issues/34788

We dropped Python 3.7 support in pyarrow 13.0 (August 2023). If we follow the same pattern, we should be able to drop 3.8 support for pyarrow 18, since by the time of that release it should have reached end of life (2024-10, https://devguide.python.org/versions)

raulcd commented 1 week ago

I am going to start working on this as we are one month away to the deprecation date.

raulcd commented 1 week ago

I've just realised while creating the PR that the end of support is end of October. When we dropped support for 3.7 on our October release the Python version had already been deprecated on June, see: https://endoflife.date/python Should we hold this to 19.0.0?

jorisvandenbossche commented 1 week ago

Personally I don't think we need to do that for those two(?) weeks that Python 3.8 will still be officially supported when Arrow 18.0 is expected to be out. And anyway, it's also not because Python 3.8 is EOL at the end of October that everyone will at once stop using it, so it is still a trade-off decision we have to make how long we want to support Python 3.8.
But personally, I think we can certainly stop providing wheels for Python 3.8 around the time of the EOL (people can always still install the previous version of pyarrow, or even building from source will probably still work), and providing wheels for 5 Python versions (3.9-3.13) seems sufficient.