diff --git a/providers/opensearch/pyproject.toml b/providers/opensearch/pyproject.toml index c47d71a45197a..747d9394a5d13 100644 --- a/providers/opensearch/pyproject.toml +++ b/providers/opensearch/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", "opensearch-py>=2.2.0", ] @@ -66,6 +67,7 @@ dev = [ "apache-airflow", "apache-airflow-task-sdk", "apache-airflow-devel-common", + "apache-airflow-providers-common-compat", # Additional devel dependencies (do not remove this line and add extra development dependencies) ] diff --git a/providers/opensearch/src/airflow/providers/opensearch/hooks/opensearch.py b/providers/opensearch/src/airflow/providers/opensearch/hooks/opensearch.py index 9ac6f6ca24da9..5afff534c2287 100644 --- a/providers/opensearch/src/airflow/providers/opensearch/hooks/opensearch.py +++ b/providers/opensearch/src/airflow/providers/opensearch/hooks/opensearch.py @@ -27,7 +27,7 @@ from opensearchpy import Connection as OpenSearchConnectionClass from airflow.exceptions import AirflowException -from airflow.providers.opensearch.version_compat import BaseHook +from airflow.providers.common.compat.sdk import BaseHook from airflow.utils.strings import to_boolean diff --git a/providers/opensearch/src/airflow/providers/opensearch/operators/opensearch.py b/providers/opensearch/src/airflow/providers/opensearch/operators/opensearch.py index 3391df3f59dd3..a3b5f71e5e18a 100644 --- a/providers/opensearch/src/airflow/providers/opensearch/operators/opensearch.py +++ b/providers/opensearch/src/airflow/providers/opensearch/operators/opensearch.py @@ -25,8 +25,8 @@ from opensearchpy.exceptions import OpenSearchException from airflow.exceptions import AirflowException +from airflow.providers.common.compat.sdk import BaseOperator from airflow.providers.opensearch.hooks.opensearch import OpenSearchHook -from airflow.providers.opensearch.version_compat import BaseOperator if TYPE_CHECKING: from opensearchpy import Connection as OpenSearchConnectionClass diff --git a/providers/opensearch/src/airflow/providers/opensearch/version_compat.py b/providers/opensearch/src/airflow/providers/opensearch/version_compat.py index 45c682b575d12..613a946fc90b5 100644 --- a/providers/opensearch/src/airflow/providers/opensearch/version_compat.py +++ b/providers/opensearch/src/airflow/providers/opensearch/version_compat.py @@ -35,20 +35,7 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]: AIRFLOW_V_3_0_PLUS: bool = 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 -else: - from airflow.models import BaseOperator - -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", ] diff --git a/providers/opensearch/tests/unit/opensearch/conftest.py b/providers/opensearch/tests/unit/opensearch/conftest.py index e1efa0cd9c091..d58a4703e76cf 100644 --- a/providers/opensearch/tests/unit/opensearch/conftest.py +++ b/providers/opensearch/tests/unit/opensearch/conftest.py @@ -21,7 +21,7 @@ import pytest from airflow.models import Connection -from airflow.providers.opensearch.version_compat import BaseHook +from airflow.providers.common.compat.sdk import BaseHook try: from opensearchpy import OpenSearch