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

amoghdesai 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 1d9075ef1cb Move all BaseHook usages to version_compat in HTTP (#52814)
1d9075ef1cb is described below

commit 1d9075ef1cb7cc236a59a3285698018901c88e7b
Author: Ankit Chaurasia <8670962+sunank...@users.noreply.github.com>
AuthorDate: Sat Jul 5 20:44:31 2025 +0545

    Move all BaseHook usages to version_compat in HTTP (#52814)
    
    Co-authored-by: Amogh Desai <amoghrajesh1...@gmail.com>
---
 providers/http/src/airflow/providers/http/hooks/http.py     | 6 +-----
 providers/http/src/airflow/providers/http/operators/http.py | 7 +------
 providers/http/src/airflow/providers/http/version_compat.py | 8 +++++++-
 3 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/providers/http/src/airflow/providers/http/hooks/http.py 
b/providers/http/src/airflow/providers/http/hooks/http.py
index 8144d4a8e33..93df79d2b8e 100644
--- a/providers/http/src/airflow/providers/http/hooks/http.py
+++ b/providers/http/src/airflow/providers/http/hooks/http.py
@@ -34,11 +34,7 @@ from requests_toolbelt.adapters.socket_options import 
TCPKeepAliveAdapter
 
 from airflow.exceptions import AirflowException
 from airflow.providers.http.exceptions import HttpErrorException, 
HttpMethodException
-
-try:
-    from airflow.sdk import BaseHook
-except ImportError:
-    from airflow.hooks.base import BaseHook as BaseHook  # type: ignore
+from airflow.providers.http.version_compat import BaseHook
 
 if TYPE_CHECKING:
     from aiohttp.client_reqrep import ClientResponse
diff --git a/providers/http/src/airflow/providers/http/operators/http.py 
b/providers/http/src/airflow/providers/http/operators/http.py
index 2d3a901a300..4915339e49f 100644
--- a/providers/http/src/airflow/providers/http/operators/http.py
+++ b/providers/http/src/airflow/providers/http/operators/http.py
@@ -27,13 +27,8 @@ from requests import Response
 
 from airflow.configuration import conf
 from airflow.exceptions import AirflowException
-
-try:
-    from airflow.sdk import BaseHook
-except ImportError:
-    from airflow.hooks.base import BaseHook  # type: 
ignore[attr-defined,no-redef]
 from airflow.providers.http.triggers.http import HttpTrigger, 
serialize_auth_type
-from airflow.providers.http.version_compat import BaseOperator
+from airflow.providers.http.version_compat import BaseHook, BaseOperator
 from airflow.utils.helpers import merge_dicts
 
 if TYPE_CHECKING:
diff --git a/providers/http/src/airflow/providers/http/version_compat.py 
b/providers/http/src/airflow/providers/http/version_compat.py
index fde11c60d36..496bfa60368 100644
--- a/providers/http/src/airflow/providers/http/version_compat.py
+++ b/providers/http/src/airflow/providers/http/version_compat.py
@@ -33,6 +33,12 @@ 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_1_PLUS:
+    from airflow.sdk import BaseHook
+else:
+    from airflow.hooks.base import BaseHook  # type: 
ignore[attr-defined,no-redef]
 
 if AIRFLOW_V_3_0_PLUS:
     from airflow.sdk import BaseOperator, BaseSensorOperator
@@ -40,4 +46,4 @@ else:
     from airflow.models import BaseOperator  # type: ignore[no-redef]
     from airflow.sensors.base import BaseSensorOperator  # type: 
ignore[no-redef]
 
-__all__ = ["AIRFLOW_V_3_0_PLUS", "BaseOperator", "BaseSensorOperator"]
+__all__ = ["AIRFLOW_V_3_0_PLUS", "AIRFLOW_V_3_1_PLUS", "BaseHook", 
"BaseOperator", "BaseSensorOperator"]

Reply via email to