You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@airflow.apache.org by Elad Kalif <el...@apache.org> on 2025/06/22 09:02:36 UTC

[DISCUSS] Dropping Python 3.9 support

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?

Re: [DISCUSS] Dropping Python 3.9 support

Posted by Jarek Potiuk <ja...@potiuk.com>.
Cool :)

On Mon, Jun 23, 2025 at 10:33 AM Elad Kalif <el...@apache.org> wrote:

> I started a lazy consensus
> https://lists.apache.org/thread/5b3w2ofb2hjqcszkd21sg815rc0yxovt
>
> On Mon, Jun 23, 2025 at 10:36 AM Avi <av...@astronomer.io.invalid> wrote:
>
> > +1, with this it will make it easier to adopt sqlalchemy 2.x
> >
> > On Mon, Jun 23, 2025 at 1:03 PM Wei Lee <we...@gmail.com> wrote:
> >
> > > +1, I even thought we had already done it 🤔
> > >
> > > Best,
> > > Wei
> > >
> > > > On Jun 23, 2025, at 1:50 PM, Amogh Desai <am...@gmail.com>
> > > wrote:
> > > >
> > > > +1 to this.
> > > >
> > > > Since the tentative date for PY 3.9 deprecation is nearing (Oct
> 2025),
> > > > since we support
> > > > 3.10 (relatively easier migration), I do not see why we should delay
> > the
> > > > support here.
> > > >
> > > > Maintaining older versions is a nightmare in itself and becomes even
> > more
> > > > so with
> > > > the combinations we have in Airflow. Waiting till the last day could
> > also
> > > > lead to surprises
> > > > which might give us a hard time.
> > > >
> > > > Thanks & Regards,
> > > > Amogh Desai
> > > >
> > > >
> > > > On Sun, Jun 22, 2025 at 3:20 PM Jarek Potiuk <ja...@potiuk.com>
> wrote:
> > > >
> > > >> +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 <
> > > >> gopidesupavan@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 <el...@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?
> > > >>>>
> > > >>>
> > > >>
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscribe@airflow.apache.org
> > > For additional commands, e-mail: dev-help@airflow.apache.org
> > >
> > >
> >
>

Re: [DISCUSS] Dropping Python 3.9 support

Posted by Elad Kalif <el...@apache.org>.
I started a lazy consensus
https://lists.apache.org/thread/5b3w2ofb2hjqcszkd21sg815rc0yxovt

On Mon, Jun 23, 2025 at 10:36 AM Avi <av...@astronomer.io.invalid> wrote:

> +1, with this it will make it easier to adopt sqlalchemy 2.x
>
> On Mon, Jun 23, 2025 at 1:03 PM Wei Lee <we...@gmail.com> wrote:
>
> > +1, I even thought we had already done it 🤔
> >
> > Best,
> > Wei
> >
> > > On Jun 23, 2025, at 1:50 PM, Amogh Desai <am...@gmail.com>
> > wrote:
> > >
> > > +1 to this.
> > >
> > > Since the tentative date for PY 3.9 deprecation is nearing (Oct 2025),
> > > since we support
> > > 3.10 (relatively easier migration), I do not see why we should delay
> the
> > > support here.
> > >
> > > Maintaining older versions is a nightmare in itself and becomes even
> more
> > > so with
> > > the combinations we have in Airflow. Waiting till the last day could
> also
> > > lead to surprises
> > > which might give us a hard time.
> > >
> > > Thanks & Regards,
> > > Amogh Desai
> > >
> > >
> > > On Sun, Jun 22, 2025 at 3:20 PM Jarek Potiuk <ja...@potiuk.com> wrote:
> > >
> > >> +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 <
> > >> gopidesupavan@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 <el...@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?
> > >>>>
> > >>>
> > >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@airflow.apache.org
> > For additional commands, e-mail: dev-help@airflow.apache.org
> >
> >
>

Re: [DISCUSS] Dropping Python 3.9 support

Posted by Avi <av...@astronomer.io.INVALID>.
+1, with this it will make it easier to adopt sqlalchemy 2.x

On Mon, Jun 23, 2025 at 1:03 PM Wei Lee <we...@gmail.com> wrote:

> +1, I even thought we had already done it 🤔
>
> Best,
> Wei
>
> > On Jun 23, 2025, at 1:50 PM, Amogh Desai <am...@gmail.com>
> wrote:
> >
> > +1 to this.
> >
> > Since the tentative date for PY 3.9 deprecation is nearing (Oct 2025),
> > since we support
> > 3.10 (relatively easier migration), I do not see why we should delay the
> > support here.
> >
> > Maintaining older versions is a nightmare in itself and becomes even more
> > so with
> > the combinations we have in Airflow. Waiting till the last day could also
> > lead to surprises
> > which might give us a hard time.
> >
> > Thanks & Regards,
> > Amogh Desai
> >
> >
> > On Sun, Jun 22, 2025 at 3:20 PM Jarek Potiuk <ja...@potiuk.com> wrote:
> >
> >> +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 <
> >> gopidesupavan@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 <el...@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?
> >>>>
> >>>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@airflow.apache.org
> For additional commands, e-mail: dev-help@airflow.apache.org
>
>

Re: [DISCUSS] Dropping Python 3.9 support

Posted by Wei Lee <we...@gmail.com>.
+1, I even thought we had already done it 🤔

Best,
Wei

> On Jun 23, 2025, at 1:50 PM, Amogh Desai <am...@gmail.com> wrote:
> 
> +1 to this.
> 
> Since the tentative date for PY 3.9 deprecation is nearing (Oct 2025),
> since we support
> 3.10 (relatively easier migration), I do not see why we should delay the
> support here.
> 
> Maintaining older versions is a nightmare in itself and becomes even more
> so with
> the combinations we have in Airflow. Waiting till the last day could also
> lead to surprises
> which might give us a hard time.
> 
> Thanks & Regards,
> Amogh Desai
> 
> 
> On Sun, Jun 22, 2025 at 3:20 PM Jarek Potiuk <ja...@potiuk.com> wrote:
> 
>> +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 <
>> gopidesupavan@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 <el...@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?
>>>> 
>>> 
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@airflow.apache.org
For additional commands, e-mail: dev-help@airflow.apache.org


Re: [DISCUSS] Dropping Python 3.9 support

Posted by Amogh Desai <am...@gmail.com>.
+1 to this.

Since the tentative date for PY 3.9 deprecation is nearing (Oct 2025),
since we support
3.10 (relatively easier migration), I do not see why we should delay the
support here.

Maintaining older versions is a nightmare in itself and becomes even more
so with
the combinations we have in Airflow. Waiting till the last day could also
lead to surprises
which might give us a hard time.

Thanks & Regards,
Amogh Desai


On Sun, Jun 22, 2025 at 3:20 PM Jarek Potiuk <ja...@potiuk.com> wrote:

> +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 <
> gopidesupavan@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 <el...@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?
> > >
> >
>

Re: [DISCUSS] Dropping Python 3.9 support

Posted by Jarek Potiuk <ja...@potiuk.com>.
+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 <
gopidesupavan@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 <el...@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?
> >
>

Re: [DISCUSS] Dropping Python 3.9 support

Posted by Pavankumar Gopidesu <go...@gmail.com>.
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 <el...@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?
>