This is an automated email from the ASF dual-hosted git repository.
potiuk 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 240508ba809 Provider Migration: Update opensearch for Airflow 3.0
compatibility (#52609)
240508ba809 is described below
commit 240508ba8096a9db7ae1c7173b60d19cbcb48074
Author: Kyungjun Lee <[email protected]>
AuthorDate: Tue Jul 1 13:00:57 2025 +0900
Provider Migration: Update opensearch for Airflow 3.0 compatibility (#52609)
* ADD: add conditional import for BaseOperator
* CHG: change import path
---
.../src/airflow/providers/opensearch/operators/opensearch.py | 2 +-
.../src/airflow/providers/opensearch/version_compat.py | 10 ++++++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git
a/providers/opensearch/src/airflow/providers/opensearch/operators/opensearch.py
b/providers/opensearch/src/airflow/providers/opensearch/operators/opensearch.py
index 9174e03b369..3391df3f59d 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 import RequestsHttpConnection
from opensearchpy.exceptions import OpenSearchException
from airflow.exceptions import AirflowException
-from airflow.models 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 48d122b6696..e7a259afb35 100644
--- a/providers/opensearch/src/airflow/providers/opensearch/version_compat.py
+++ b/providers/opensearch/src/airflow/providers/opensearch/version_compat.py
@@ -33,3 +33,13 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]:
AIRFLOW_V_3_0_PLUS = get_base_airflow_version_tuple() >= (3, 0, 0)
+
+if AIRFLOW_V_3_0_PLUS:
+ from airflow.sdk import BaseOperator
+else:
+ from airflow.models import BaseOperator
+
+__all__ = [
+ "AIRFLOW_V_3_0_PLUS",
+ "BaseOperator",
+]