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 d8520ed7cf0 Replace `BaseHook` to Task SDK for `apache/cassandra` 
(#52689)
d8520ed7cf0 is described below

commit d8520ed7cf0cd7390a7e6fabe06fa9307b6f1cf5
Author: Dov Benyomin Sohacheski <[email protected]>
AuthorDate: Fri Jul 4 07:06:54 2025 +0300

    Replace `BaseHook` to Task SDK for `apache/cassandra` (#52689)
---
 .../airflow/providers/apache/cassandra/hooks/cassandra.py  |  5 +----
 .../airflow/providers/apache/cassandra/version_compat.py   | 14 +++++++++++++-
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git 
a/providers/apache/cassandra/src/airflow/providers/apache/cassandra/hooks/cassandra.py
 
b/providers/apache/cassandra/src/airflow/providers/apache/cassandra/hooks/cassandra.py
index 3b5af5fa704..cdf21aad1bf 100644
--- 
a/providers/apache/cassandra/src/airflow/providers/apache/cassandra/hooks/cassandra.py
+++ 
b/providers/apache/cassandra/src/airflow/providers/apache/cassandra/hooks/cassandra.py
@@ -31,10 +31,7 @@ from cassandra.policies import (
     WhiteListRoundRobinPolicy,
 )
 
-try:
-    from airflow.sdk import BaseHook
-except ImportError:
-    from airflow.hooks.base import BaseHook  # type: 
ignore[attr-defined,no-redef]
+from airflow.providers.apache.cassandra.version_compat import BaseHook
 from airflow.utils.log.logging_mixin import LoggingMixin
 
 Policy: TypeAlias = DCAwareRoundRobinPolicy | RoundRobinPolicy | 
TokenAwarePolicy | WhiteListRoundRobinPolicy
diff --git 
a/providers/apache/cassandra/src/airflow/providers/apache/cassandra/version_compat.py
 
b/providers/apache/cassandra/src/airflow/providers/apache/cassandra/version_compat.py
index 319d86aca69..a0de7660054 100644
--- 
a/providers/apache/cassandra/src/airflow/providers/apache/cassandra/version_compat.py
+++ 
b/providers/apache/cassandra/src/airflow/providers/apache/cassandra/version_compat.py
@@ -33,10 +33,22 @@ 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
 else:
     from airflow.sensors.base import BaseSensorOperator  # type: 
ignore[no-redef]
 
-__all__ = ["AIRFLOW_V_3_0_PLUS", "BaseSensorOperator"]
+__all__ = [
+    "AIRFLOW_V_3_0_PLUS",
+    "AIRFLOW_V_3_1_PLUS",
+    "BaseHook",
+    "BaseSensorOperator",
+]

Reply via email to