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. > >
