kyungjunleeme commented on code in PR #53584:
URL: https://github.com/apache/airflow/pull/53584#discussion_r2250276402
##########
providers/databricks/src/airflow/providers/databricks/plugins/databricks_workflow.py:
##########
@@ -51,11 +45,15 @@
from airflow.utils.context import Context
if AIRFLOW_V_3_0_PLUS:
+ from airflow.providers.fab.www import auth
from airflow.sdk import BaseOperatorLink
+ from airflow.sdk.definitions.taskgroup import TaskGroup
from airflow.sdk.execution_time.xcom import XCom
else:
- from airflow.models import XCom
+ from airflow.models import XCom # type: ignore[no-redef]
from airflow.models.baseoperatorlink import BaseOperatorLink # type:
ignore[no-redef]
+ from airflow.utils.task_group import TaskGroup # type: ignore[no-redef]
+ from airflow.www import auth # type: ignore[no-redef]
Review Comment:
This is the right way to handle it. I understood the part I was confused
about after seeing how someone else implemented it.
```
from __future__ import annotations
def get_base_airflow_version_tuple() -> tuple[int, int, int]:
from packaging.version import Version
from airflow import __version__
airflow_version = Version(__version__)
return airflow_version.major, airflow_version.minor,
airflow_version.micro
AIRFLOW_V_3_0_PLUS = get_base_airflow_version_tuple() >= (3, 0, 0)
if AIRFLOW_V_3_0_PLUS:
from airflow.sdk import BaseOperator, BaseOperatorLink, TaskGroup
from airflow.sdk.execution_time.xcom import XCom
else:
from airflow.models import BaseOperator, XCom
from airflow.models.baseoperatorlink import BaseOperatorLink # type:
ignore[no-redef]
from airflow.utils.task_group import TaskGroup # type: ignore[no-redef]
__all__ = [
"AIRFLOW_V_3_0_PLUS",
"BaseOperator",
"BaseOperatorLink",
"TaskGroup",
"XCom",
]
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]