diff --git a/providers/http/pyproject.toml b/providers/http/pyproject.toml index b70fc9f6005a1..5c182328f4582 100644 --- a/providers/http/pyproject.toml +++ b/providers/http/pyproject.toml @@ -58,6 +58,7 @@ requires-python = ">=3.10" # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build`` dependencies = [ "apache-airflow>=2.10.0", + "apache-airflow-providers-common-compat>=1.8.0", # The 2.26.0 release of requests got rid of the chardet LGPL mandatory dependency, allowing us to # release it as a requirement for airflow "requests>=2.32.0,<3", diff --git a/providers/http/src/airflow/providers/http/hooks/http.py b/providers/http/src/airflow/providers/http/hooks/http.py index b8baa580c418e..0c8dd7d0bc2bf 100644 --- a/providers/http/src/airflow/providers/http/hooks/http.py +++ b/providers/http/src/airflow/providers/http/hooks/http.py @@ -33,8 +33,8 @@ from requests_toolbelt.adapters.socket_options import TCPKeepAliveAdapter from airflow.exceptions import AirflowException +from airflow.providers.common.compat.sdk import BaseHook from airflow.providers.http.exceptions import HttpErrorException, HttpMethodException -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 4915339e49f08..52938e7337716 100644 --- a/providers/http/src/airflow/providers/http/operators/http.py +++ b/providers/http/src/airflow/providers/http/operators/http.py @@ -27,8 +27,8 @@ from airflow.configuration import conf from airflow.exceptions import AirflowException +from airflow.providers.common.compat.sdk import BaseHook, BaseOperator from airflow.providers.http.triggers.http import HttpTrigger, serialize_auth_type -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/sensors/http.py b/providers/http/src/airflow/providers/http/sensors/http.py index f395ab2bb8ca3..5ad277067d9d8 100644 --- a/providers/http/src/airflow/providers/http/sensors/http.py +++ b/providers/http/src/airflow/providers/http/sensors/http.py @@ -23,11 +23,13 @@ from airflow.configuration import conf from airflow.exceptions import AirflowException +from airflow.providers.common.compat.sdk import BaseSensorOperator from airflow.providers.http.hooks.http import HttpHook from airflow.providers.http.triggers.http import HttpSensorTrigger -from airflow.providers.http.version_compat import AIRFLOW_V_3_0_PLUS, BaseSensorOperator if TYPE_CHECKING: + from airflow.providers.common.compat.version_compat import AIRFLOW_V_3_0_PLUS + try: from airflow.sdk.definitions.context import Context diff --git a/providers/http/src/airflow/providers/http/triggers/http.py b/providers/http/src/airflow/providers/http/triggers/http.py index bd29ac71f596f..6cddca683d2ea 100644 --- a/providers/http/src/airflow/providers/http/triggers/http.py +++ b/providers/http/src/airflow/providers/http/triggers/http.py @@ -33,8 +33,8 @@ from requests.structures import CaseInsensitiveDict from airflow.exceptions import AirflowException +from airflow.providers.common.compat.version_compat import AIRFLOW_V_3_0_PLUS from airflow.providers.http.hooks.http import HttpAsyncHook -from airflow.providers.http.version_compat import AIRFLOW_V_3_0_PLUS from airflow.triggers.base import BaseTrigger, TriggerEvent if AIRFLOW_V_3_0_PLUS: diff --git a/providers/http/src/airflow/providers/http/version_compat.py b/providers/http/src/airflow/providers/http/version_compat.py index ef9f9d6c244c1..a4fae50317e81 100644 --- a/providers/http/src/airflow/providers/http/version_compat.py +++ b/providers/http/src/airflow/providers/http/version_compat.py @@ -33,18 +33,9 @@ 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 -else: - from airflow.models import BaseOperator - from airflow.sensors.base import BaseSensorOperator # type: ignore[no-redef] - -__all__ = ["AIRFLOW_V_3_0_PLUS", "AIRFLOW_V_3_1_PLUS", "BaseHook", "BaseOperator", "BaseSensorOperator"] +__all__ = [ + "AIRFLOW_V_3_0_PLUS", + "AIRFLOW_V_3_1_PLUS", +]