I'd love to get rid of python 3.5 We discussed it a few times but as of recently the main problem was that 3.5 was default python version of Stretch debian LTS (9). However we are soon - this week likely - switching to Buster debian LTS as base image for our CI tests (and production image that follows) (PR https://issues.apache.org/jira/browse/AIRFLOW-5842). Buster comes with 3.7 by default and is already 4 months old.
I think we should make an educated decision, based on what we can gain by moving to 3.6. The PYPI stats show only downloads not current number of installations - ( https://pypistats.org/packages/apache-airflow), but I think they are kind of indicative numbers for potential users of 2.0. They show steady decline of 3.5 downloads - currently at below 5%. Python 3.6 is by far the most popular (around 40% of downloads). There are few things we could benefit from by switching to 3.6 - this is my (subjective) selection of the ones that matter for Airflow: - Formatted string literals : https://docs.python.org/3/whatsnew/3.6.html#pep-498-formatted-string-literals (my favourite one) - Type annotations for variables : https://docs.python.org/3/whatsnew/3.6.html#pep-526-syntax-for-variable-annotations - now especially that we use MyPy more and more this one is the only place we have to leave ugly comments rather than annotations. - Path-like types: https://docs.python.org/3/whatsnew/3.6.html#pep-519-adding-a-file-system-path-protocol - nicer handling of file access - Local Time disambiguation: https://docs.python.org/3/whatsnew/3.6.html#pep-495-local-time-disambiguation - this had already caused problems in the past (I fixed a problem where pendulum and datetime objects were mixed and caused wrong behaviour on 3.5) - Json loads supports binary format - https://docs.python.org/3/whatsnew/3.6.html#json - this has already bitten us as well. there was code working fine in py2.7 and 3.6 but not working with 3.5(!). Last but not least - it might free some resources on Travis (I hope GitLab fix will be out in 10 days or so and we will be able to start testing migration to it). J.. On Tue, Nov 12, 2019 at 10:00 PM Bolke de Bruin <[email protected]> wrote: > Hi All, > > Can we drop python 3.5 support and switch to 3.6 as a minimum? > > Cheers > Bolke > -- Jarek Potiuk Polidea <https://www.polidea.com/> | Principal Software Engineer M: +48 660 796 129 <+48660796129> [image: Polidea] <https://www.polidea.com/>
