This is an automated email from the ASF dual-hosted git repository.

eladkal 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 d4afdc5248f Moving BaseHook usages to version_compat for smtp (#52950)
d4afdc5248f is described below

commit d4afdc5248f52b1514ace33399b883d9abac0438
Author: Amogh Desai <[email protected]>
AuthorDate: Mon Jul 7 08:30:47 2025 +0530

    Moving BaseHook usages to version_compat for smtp (#52950)
---
 providers/smtp/src/airflow/providers/smtp/hooks/smtp.py     | 6 +-----
 providers/smtp/src/airflow/providers/smtp/version_compat.py | 8 ++++++++
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/providers/smtp/src/airflow/providers/smtp/hooks/smtp.py 
b/providers/smtp/src/airflow/providers/smtp/hooks/smtp.py
index ac06effffa4..245e2772a3e 100644
--- a/providers/smtp/src/airflow/providers/smtp/hooks/smtp.py
+++ b/providers/smtp/src/airflow/providers/smtp/hooks/smtp.py
@@ -37,11 +37,7 @@ from pathlib import Path
 from typing import TYPE_CHECKING, Any, cast
 
 from airflow.exceptions import AirflowException, AirflowNotFoundException
-
-try:
-    from airflow.sdk import BaseHook
-except ImportError:
-    from airflow.hooks.base import BaseHook  # type: 
ignore[attr-defined,no-redef]
+from airflow.providers.smtp.version_compat import BaseHook
 
 if TYPE_CHECKING:
     try:
diff --git a/providers/smtp/src/airflow/providers/smtp/version_compat.py 
b/providers/smtp/src/airflow/providers/smtp/version_compat.py
index 1db30bd4762..75d9c5bb3d9 100644
--- a/providers/smtp/src/airflow/providers/smtp/version_compat.py
+++ b/providers/smtp/src/airflow/providers/smtp/version_compat.py
@@ -33,6 +33,7 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]:
 
 
 AIRFLOW_V_3_0_PLUS = get_base_airflow_version_tuple() >= (3, 0, 0)
+AIRFLOW_V_3_1_PLUS: bool = get_base_airflow_version_tuple() >= (3, 1, 0)
 
 if AIRFLOW_V_3_0_PLUS:
     from airflow.sdk import BaseOperator
@@ -41,8 +42,15 @@ else:
     from airflow.models import BaseOperator  # type: ignore[no-redef]
     from airflow.utils.context import Context  # type: ignore[no-redef]
 
+if AIRFLOW_V_3_1_PLUS:
+    from airflow.sdk import BaseHook
+else:
+    from airflow.hooks.base import BaseHook  # type: 
ignore[attr-defined,no-redef]
+
 __all__ = [
     "AIRFLOW_V_3_0_PLUS",
+    "AIRFLOW_V_3_1_PLUS",
+    "BaseHook",
     "BaseOperator",
     "Context",
 ]

Reply via email to