This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new d045a0f9ae Ignore E402 (import not at the top of file) in pre-commits
(#35873)
d045a0f9ae is described below
commit d045a0f9ae4bbe2620c740ca00ba667748a20573
Author: Jarek Potiuk <[email protected]>
AuthorDate: Mon Nov 27 01:19:47 2023 +0100
Ignore E402 (import not at the top of file) in pre-commits (#35873)
Pre-commits often import some modules from elsewhere after inserting
a common folder at PYTHONPATH. Pre-commits are pretty special,
because they are supposed to be run as standalone scripts
by pre-commit framework as git hooks, and they often do
similar things, so some common code in pre-commits is good to have.
Ignoring E402 error in all pre-commits seems like best way to
avoid unnecessary individual exclusions.
---
pyproject.toml | 1 +
scripts/ci/pre_commit/common_precommit_black_utils.py | 2 +-
.../ci/pre_commit/pre_commit_check_pre_commit_hooks.py | 17 ++++++++---------
.../pre_commit_check_setup_extra_packages_ref.py | 8 ++++----
scripts/ci/pre_commit/pre_commit_compile_www_assets.py | 2 +-
scripts/ci/pre_commit/pre_commit_insert_extras.py | 5 +++--
.../pre_commit_update_common_sql_api_stubs.py | 4 ++--
scripts/ci/pre_commit/pre_commit_update_versions.py | 2 +-
8 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index 3fbc95e88b..6187f8ca6f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -140,6 +140,7 @@ combine-as-imports = true
# All of the modules which have an extra license header (i.e. that we copy
from another project) need to
# ignore E402 -- module level import not at top level
+"scripts/ci/pre_commit/*.py" = ["E402"]
"airflow/api/auth/backend/kerberos_auth.py" = ["E402"]
"airflow/security/kerberos.py" = ["E402"]
"airflow/security/utils.py" = ["E402"]
diff --git a/scripts/ci/pre_commit/common_precommit_black_utils.py
b/scripts/ci/pre_commit/common_precommit_black_utils.py
index c9d0f77122..4e2bf48b5f 100644
--- a/scripts/ci/pre_commit/common_precommit_black_utils.py
+++ b/scripts/ci/pre_commit/common_precommit_black_utils.py
@@ -25,7 +25,7 @@ from black import Mode, TargetVersion, format_str,
parse_pyproject_toml
sys.path.insert(0, str(Path(__file__).parent.resolve())) # make sure
common_precommit_utils is imported
-from common_precommit_utils import AIRFLOW_BREEZE_SOURCES_PATH # isort: skip
# noqa E402
+from common_precommit_utils import AIRFLOW_BREEZE_SOURCES_PATH
@lru_cache(maxsize=None)
diff --git a/scripts/ci/pre_commit/pre_commit_check_pre_commit_hooks.py
b/scripts/ci/pre_commit/pre_commit_check_pre_commit_hooks.py
index 311c660d78..dd7c151412 100755
--- a/scripts/ci/pre_commit/pre_commit_check_pre_commit_hooks.py
+++ b/scripts/ci/pre_commit/pre_commit_check_pre_commit_hooks.py
@@ -26,19 +26,18 @@ import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent.resolve())) # make sure
common_precommit_utils is imported
-from common_precommit_utils import ( # isort: skip # noqa: E402
+from collections import defaultdict
+from typing import Any
+
+import yaml
+from common_precommit_black_utils import black_format
+from common_precommit_utils import (
AIRFLOW_BREEZE_SOURCES_PATH,
AIRFLOW_SOURCES_ROOT_PATH,
insert_documentation,
)
-from common_precommit_black_utils import black_format # isort: skip # noqa
E402
-
-from collections import defaultdict # noqa: E402
-from typing import Any # noqa: E402
-
-import yaml # noqa: E402
-from rich.console import Console # noqa: E402
-from tabulate import tabulate # noqa: E402
+from rich.console import Console
+from tabulate import tabulate
console = Console(width=400, color_system="standard")
diff --git a/scripts/ci/pre_commit/pre_commit_check_setup_extra_packages_ref.py
b/scripts/ci/pre_commit/pre_commit_check_setup_extra_packages_ref.py
index df8e95e5e3..0997fc008d 100755
--- a/scripts/ci/pre_commit/pre_commit_check_setup_extra_packages_ref.py
+++ b/scripts/ci/pre_commit/pre_commit_check_setup_extra_packages_ref.py
@@ -39,12 +39,12 @@ sys.path.insert(0, os.fspath(AIRFLOW_SOURCES_DIR))
os.environ["_SKIP_PYTHON_VERSION_CHECK"] = "true"
-from setup import ( # noqa # isort:skip
- add_all_provider_packages,
- EXTRAS_DEPRECATED_ALIASES,
+from setup import (
EXTRAS_DEPENDENCIES,
- PREINSTALLED_PROVIDERS,
+ EXTRAS_DEPRECATED_ALIASES,
EXTRAS_DEPRECATED_ALIASES_IGNORED_FROM_REF_DOCS,
+ PREINSTALLED_PROVIDERS,
+ add_all_provider_packages,
)
diff --git a/scripts/ci/pre_commit/pre_commit_compile_www_assets.py
b/scripts/ci/pre_commit/pre_commit_compile_www_assets.py
index 8c43f72fd2..f0c2691a3f 100755
--- a/scripts/ci/pre_commit/pre_commit_compile_www_assets.py
+++ b/scripts/ci/pre_commit/pre_commit_compile_www_assets.py
@@ -23,7 +23,7 @@ import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent.resolve())) # make sure
common_precommit_utils is imported
-from common_precommit_utils import get_directory_hash # isort: skip # noqa
E402
+from common_precommit_utils import get_directory_hash
AIRFLOW_SOURCES_PATH = Path(__file__).parents[3].resolve()
WWW_HASH_FILE = AIRFLOW_SOURCES_PATH / ".build" / "www" / "hash.txt"
diff --git a/scripts/ci/pre_commit/pre_commit_insert_extras.py
b/scripts/ci/pre_commit/pre_commit_insert_extras.py
index 72dfdba4f3..103cec230b 100755
--- a/scripts/ci/pre_commit/pre_commit_insert_extras.py
+++ b/scripts/ci/pre_commit/pre_commit_insert_extras.py
@@ -30,8 +30,9 @@ sys.path.insert(0, str(AIRFLOW_SOURCES_DIR)) # make sure
setup is imported from
os.environ["_SKIP_PYTHON_VERSION_CHECK"] = "true"
-from common_precommit_utils import insert_documentation # isort: skip #
noqa: E402
-from setup import EXTRAS_DEPENDENCIES # isort:skip # noqa: E402
+from common_precommit_utils import insert_documentation
+
+from setup import EXTRAS_DEPENDENCIES
sys.path.append(str(AIRFLOW_SOURCES_DIR))
diff --git a/scripts/ci/pre_commit/pre_commit_update_common_sql_api_stubs.py
b/scripts/ci/pre_commit/pre_commit_update_common_sql_api_stubs.py
index ef3f429dad..4dd67ad6c3 100755
--- a/scripts/ci/pre_commit/pre_commit_update_common_sql_api_stubs.py
+++ b/scripts/ci/pre_commit/pre_commit_update_common_sql_api_stubs.py
@@ -36,8 +36,8 @@ if __name__ not in ("__main__", "__mp_main__"):
sys.path.insert(0, str(Path(__file__).parent.resolve())) # make sure
common_precommit_utils is imported
-from common_precommit_utils import AIRFLOW_SOURCES_ROOT_PATH # isort: skip #
noqa E402
-from common_precommit_black_utils import black_format # isort: skip # noqa
E402
+from common_precommit_black_utils import black_format
+from common_precommit_utils import AIRFLOW_SOURCES_ROOT_PATH
PROVIDERS_ROOT = AIRFLOW_SOURCES_ROOT_PATH / "providers"
COMMON_SQL_ROOT = PROVIDERS_ROOT / "common" / "sql"
diff --git a/scripts/ci/pre_commit/pre_commit_update_versions.py
b/scripts/ci/pre_commit/pre_commit_update_versions.py
index 19cba2c648..a2e3361eac 100755
--- a/scripts/ci/pre_commit/pre_commit_update_versions.py
+++ b/scripts/ci/pre_commit/pre_commit_update_versions.py
@@ -23,7 +23,7 @@ from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent.resolve())) # make sure
common_precommit_utils is importable
-from common_precommit_utils import AIRFLOW_SOURCES_ROOT_PATH,
read_airflow_version # noqa: E402
+from common_precommit_utils import AIRFLOW_SOURCES_ROOT_PATH,
read_airflow_version
def update_version(pattern: re.Pattern, v: str, file_path: Path):