diff --git a/providers/snowflake/src/airflow/providers/snowflake/transfers/copy_into_snowflake.py b/providers/snowflake/src/airflow/providers/snowflake/transfers/copy_into_snowflake.py index e8b70344fbf5c..9032b9fbe5d30 100644 --- a/providers/snowflake/src/airflow/providers/snowflake/transfers/copy_into_snowflake.py +++ b/providers/snowflake/src/airflow/providers/snowflake/transfers/copy_into_snowflake.py @@ -22,9 +22,9 @@ from collections.abc import Sequence from typing import Any -from airflow.models import BaseOperator from airflow.providers.snowflake.hooks.snowflake import SnowflakeHook from airflow.providers.snowflake.utils.common import enclose_param +from airflow.providers.snowflake.version_compat import BaseOperator def _validate_parameter(param_name: str, value: str | None) -> str | None: diff --git a/providers/snowflake/src/airflow/providers/snowflake/version_compat.py b/providers/snowflake/src/airflow/providers/snowflake/version_compat.py index 48d122b669696..df1b3e7037841 100644 --- a/providers/snowflake/src/airflow/providers/snowflake/version_compat.py +++ b/providers/snowflake/src/airflow/providers/snowflake/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 # type: ignore[no-redef] + +__all__ = [ + "AIRFLOW_V_3_0_PLUS", + "BaseOperator", +]