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"]