Remove "from __future__" from airflow/providers __init__.py #43173
+27
−18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Cleans-up airflow and providers
__init__.py
files in order to get providers import work again.This is done by excluding the two
__init__.py
files from automated ruff isort rules addingfrom __future__ import annotations
.Also removed the
__init__.py
file from "providers" directory, it is not needed there, because "providers" is just a folder where we keep provider files, it's not a Python package.That should finally get rid of the Intellij teething import problem that has been introduced in #42505.
There were earlier - unsuccesful - attempts to fix it in the #43116 and #43081 that followed #42951 - but the key is that Pycharm requires the namespace's extend_path to be first "real" line of code in the
__init__.py
to understand that the package is an "explicit" namespace package - and it conflicts with the requirement of "from future import annotations" to be the first line of Python code.Also this PR fixes a few other teething problems with setup of tests that were introcuded in #42505 and #43802 "masked" by having
__init__.py
added in providers package:but "tests." package
stub-generated files
compatibility tests with older version of airflow (where the
.asf.yml is not present)
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rst
or{issue_number}.significant.rst
, in newsfragments.