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

kaxilnaik 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 e55ab6ea43f Migrate `datadog` provider to `common.compat` (#57074)
e55ab6ea43f is described below

commit e55ab6ea43f4ffbe22dff9ecfb229d268d58220b
Author: ChenChen Lai <[email protected]>
AuthorDate: Fri Oct 24 01:26:58 2025 +0800

    Migrate `datadog` provider to `common.compat` (#57074)
    
    This PR is a part of #57018 about provider datadog.
    
    
    ---------
    
    Co-authored-by: Kaxil Naik <[email protected]>
---
 providers/datadog/pyproject.toml                          |  2 ++
 .../src/airflow/providers/datadog/hooks/datadog.py        |  2 +-
 .../src/airflow/providers/datadog/sensors/datadog.py      |  4 ++--
 .../src/airflow/providers/datadog/version_compat.py       | 15 ---------------
 4 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/providers/datadog/pyproject.toml b/providers/datadog/pyproject.toml
index a8302c3ba68..67a45a7610a 100644
--- a/providers/datadog/pyproject.toml
+++ b/providers/datadog/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",
     "datadog>=0.50.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/datadog/src/airflow/providers/datadog/hooks/datadog.py 
b/providers/datadog/src/airflow/providers/datadog/hooks/datadog.py
index 7e4b907adaa..b194df6cf85 100644
--- a/providers/datadog/src/airflow/providers/datadog/hooks/datadog.py
+++ b/providers/datadog/src/airflow/providers/datadog/hooks/datadog.py
@@ -23,7 +23,7 @@ from typing import Any
 from datadog import api, initialize
 
 from airflow.exceptions import AirflowException
-from airflow.providers.datadog.version_compat import BaseHook
+from airflow.providers.common.compat.sdk import BaseHook
 from airflow.utils.log.logging_mixin import LoggingMixin
 
 
diff --git a/providers/datadog/src/airflow/providers/datadog/sensors/datadog.py 
b/providers/datadog/src/airflow/providers/datadog/sensors/datadog.py
index d39f20352e6..c858b5bfd93 100644
--- a/providers/datadog/src/airflow/providers/datadog/sensors/datadog.py
+++ b/providers/datadog/src/airflow/providers/datadog/sensors/datadog.py
@@ -23,11 +23,11 @@ from typing import TYPE_CHECKING, Any
 from datadog import api
 
 from airflow.exceptions import AirflowException
+from airflow.providers.common.compat.sdk import BaseSensorOperator
 from airflow.providers.datadog.hooks.datadog import DatadogHook
-from airflow.providers.datadog.version_compat import BaseSensorOperator
 
 if TYPE_CHECKING:
-    from airflow.providers.datadog.version_compat import Context
+    from airflow.providers.common.compat.sdk import Context
 
 
 class DatadogSensor(BaseSensorOperator):
diff --git a/providers/datadog/src/airflow/providers/datadog/version_compat.py 
b/providers/datadog/src/airflow/providers/datadog/version_compat.py
index bbbee2d00eb..a4fae50317e 100644
--- a/providers/datadog/src/airflow/providers/datadog/version_compat.py
+++ b/providers/datadog/src/airflow/providers/datadog/version_compat.py
@@ -35,22 +35,7 @@ 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 BaseSensorOperator
-    from airflow.sdk.definitions.context import Context
-else:
-    from airflow.sensors.base import BaseSensorOperator  # type: 
ignore[no-redef]
-    from airflow.utils.context import Context
-
 __all__ = [
     "AIRFLOW_V_3_0_PLUS",
     "AIRFLOW_V_3_1_PLUS",
-    "BaseHook",
-    "BaseSensorOperator",
-    "Context",
 ]

Reply via email to