+1. We have more and more problems because some of our dependencies are already dropping support for 3.9 and that complicates dependency management. Also, there a few language features added in 3.10 that could make our code better:
* https://peps.python.org/pep-0636/ -> structural pattern matching (match/case) * there are few improvements to typing system that could make our (sometimes complex) type definition simpler https://peps.python.org/pep-0612/ - Parameter Specification Variables, https://peps.python.org/pep-0613/ - explicit type aliases , https://peps.python.org/pep-0647/ - user defined type guards, https://peps.python.org/pep-0604/ - Allow writing union types as X | Y (without from __future__ import annotations and can be used in isinstance) Also generally speaking migration to Python 3.10 from 3.9 for our users should be mostly a no-op. Generally it should "just work" as there were very little breaking changes. Similarly 3.10 -> 3.11 was easy. 3.11 -> 3.12 and especially 3.12 -> 3.13 is much more involved, so i'd be cautious here, but 3.9 - 3.10 should be easy for everyone. I think we do not lose much by switching 3.1 to be 3.10+ only and the sooner we do it, the less we will be dragged down by 3.9. J. On Sun, Jun 22, 2025 at 11:14 AM Pavankumar Gopidesu < gopidesupa...@gmail.com> wrote: > Thanks elad, yes agree on this to start working on to drop as only few > months left to Python 3.9 EOL. > > +1 > > Regards, > Pavan > > On Sun, Jun 22, 2025 at 10:03 AM Elad Kalif <elad...@apache.org> wrote: > > > Hi everyone, > > > > I'd like to propose starting dropping support for Python 3.9. Our policy > ( > > > > > https://github.com/apache/airflow?tab=readme-ov-file#support-for-python-and-kubernetes-versions > > ) > > allows this (best effort item). At least for providers, it becomes time > > consuming to find workarounds and fixes specifically for Python 3.9 and > at > > the same time the extra effort invested in it prevents delivering > > capabilities that users need. Example: > > https://github.com/apache/airflow/pull/51756 > > > > I don't think we should wait until the exact day of EOL for Python 3.9, > we > > are close enough and we should begin dropping support gradually. > > > > WDYT? > > >