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):

Reply via email to