BTW. You might need to rebase and solve conflicts and re-run pre-commits on
your PRs if you see conflicts.


On Wed, Sep 14, 2022 at 12:37 PM Jarek Potiuk <[email protected]> wrote:

> Hey everyone.
>
> I just completed merging and cherry-picking (pending test success) the
> `__future__.annotations` change (PEP-563) to v2-4-test branch - Airflow
> 2.4.0 will be released with those included.
>
> I also merged a pre-commit isort change that will automatically add `from
> __future__ import annotations` import and we should use the new Python 3.9+
> style of imports all over the Airflow code base.
>
> This means few things:
>
> * no more from typing import (List, Dict, Tuple….) - instead list, dict
> tuple can be used directly without imports when specifying type
>
> * no more need to “quote” classes that have just been added or are added
> via “if TYPE_CHECKING”. For example
>
> def execute(self, context: 'Context') -> None:
>
> should be simply:
>
> def execute(self, context: Context) -> None:
>
> * no need for Optional any more. For example instead of Optional[str] you
> can use str | None
>
> Our pre-commits should automatically upgrade your code if you still use
> the old style which is also a nice way to quickly learn the Python 3.9+
> syntax for typing.
>
> The discussion in devlist was here:
> https://lists.apache.org/thread/81fr042s5d3v17v83bpo24tnrr2pp0fp
> The (slightly sped up) lazy consensus call:
> https://lists.apache.org/thread/l74nvjh8tgbtojllhwkcn7f8mfnlz4jq
>
> Thanks Ash and TP for help with those!.
>
> There are still a few exclusions, and TP attempts to workaround some of
> the limitations of pyupgrade as follow-up so there might be one more commit
> to follow.
>
> J.
>
>

Reply via email to