diff --git a/providers/slack/src/airflow/providers/slack/hooks/slack.py b/providers/slack/src/airflow/providers/slack/hooks/slack.py index 13e052a35a66e..b4f3bc81c34b6 100644 --- a/providers/slack/src/airflow/providers/slack/hooks/slack.py +++ b/providers/slack/src/airflow/providers/slack/hooks/slack.py @@ -39,8 +39,8 @@ from typing_extensions import NotRequired from airflow.exceptions import AirflowException, AirflowNotFoundException +from airflow.providers.common.compat.sdk import BaseHook from airflow.providers.slack.utils import ConnectionExtraConfig, get_async_connection -from airflow.providers.slack.version_compat import BaseHook from airflow.utils.helpers import exactly_one if TYPE_CHECKING: @@ -48,7 +48,7 @@ from slack_sdk.web.async_client import AsyncSlackResponse from slack_sdk.web.slack_response import SlackResponse - from airflow.providers.slack.version_compat import Connection + from airflow.providers.common.compat.sdk import Connection class FileUploadTypeDef(TypedDict): diff --git a/providers/slack/src/airflow/providers/slack/hooks/slack_webhook.py b/providers/slack/src/airflow/providers/slack/hooks/slack_webhook.py index e707c1e49d384..8a879d7f9809b 100644 --- a/providers/slack/src/airflow/providers/slack/hooks/slack_webhook.py +++ b/providers/slack/src/airflow/providers/slack/hooks/slack_webhook.py @@ -27,8 +27,8 @@ from slack_sdk.webhook.async_client import AsyncWebhookClient from airflow.exceptions import AirflowException, AirflowNotFoundException +from airflow.providers.common.compat.sdk import BaseHook from airflow.providers.slack.utils import ConnectionExtraConfig, get_async_connection -from airflow.providers.slack.version_compat import BaseHook if TYPE_CHECKING: from slack_sdk.http_retry import RetryHandler diff --git a/providers/slack/src/airflow/providers/slack/operators/slack.py b/providers/slack/src/airflow/providers/slack/operators/slack.py index 35f3712ff50dd..0eb502624b00b 100644 --- a/providers/slack/src/airflow/providers/slack/operators/slack.py +++ b/providers/slack/src/airflow/providers/slack/operators/slack.py @@ -24,17 +24,13 @@ from typing import TYPE_CHECKING, Any, Literal from airflow.exceptions import AirflowProviderDeprecationWarning +from airflow.providers.common.compat.sdk import BaseOperator from airflow.providers.slack.hooks.slack import SlackHook -from airflow.providers.slack.version_compat import BaseOperator if TYPE_CHECKING: from slack_sdk.http_retry import RetryHandler - try: - from airflow.sdk.definitions.context import Context - except ImportError: - # TODO: Remove once provider drops support for Airflow 2 - from airflow.utils.context import Context + from airflow.providers.common.compat.sdk import Context class SlackAPIOperator(BaseOperator): diff --git a/providers/slack/src/airflow/providers/slack/operators/slack_webhook.py b/providers/slack/src/airflow/providers/slack/operators/slack_webhook.py index 3bdb7a55e9d12..704613fc2739a 100644 --- a/providers/slack/src/airflow/providers/slack/operators/slack_webhook.py +++ b/providers/slack/src/airflow/providers/slack/operators/slack_webhook.py @@ -21,17 +21,13 @@ from functools import cached_property from typing import TYPE_CHECKING +from airflow.providers.common.compat.sdk import BaseOperator from airflow.providers.slack.hooks.slack_webhook import SlackWebhookHook -from airflow.providers.slack.version_compat import BaseOperator if TYPE_CHECKING: from slack_sdk.http_retry import RetryHandler - try: - from airflow.sdk.definitions.context import Context - except ImportError: - # TODO: Remove once provider drops support for Airflow 2 - from airflow.utils.context import Context + from airflow.providers.common.compat.sdk import Context class SlackWebhookOperator(BaseOperator): diff --git a/providers/slack/src/airflow/providers/slack/transfers/base_sql_to_slack.py b/providers/slack/src/airflow/providers/slack/transfers/base_sql_to_slack.py index e9590105ea795..256b85c02c7cd 100644 --- a/providers/slack/src/airflow/providers/slack/transfers/base_sql_to_slack.py +++ b/providers/slack/src/airflow/providers/slack/transfers/base_sql_to_slack.py @@ -20,7 +20,7 @@ from typing import TYPE_CHECKING, Any from airflow.exceptions import AirflowException -from airflow.providers.slack.version_compat import BaseHook, BaseOperator +from airflow.providers.common.compat.sdk import BaseHook, BaseOperator if TYPE_CHECKING: import pandas as pd diff --git a/providers/slack/src/airflow/providers/slack/transfers/sql_to_slack.py b/providers/slack/src/airflow/providers/slack/transfers/sql_to_slack.py index 176ddccfaa2e4..4b3cba934c4b0 100644 --- a/providers/slack/src/airflow/providers/slack/transfers/sql_to_slack.py +++ b/providers/slack/src/airflow/providers/slack/transfers/sql_to_slack.py @@ -28,11 +28,7 @@ from airflow.providers.slack.utils import parse_filename if TYPE_CHECKING: - try: - from airflow.sdk.definitions.context import Context - except ImportError: - # TODO: Remove once provider drops support for Airflow 2 - from airflow.utils.context import Context + from airflow.providers.common.compat.sdk import Context class SqlToSlackApiFileOperator(BaseSqlToSlackOperator): diff --git a/providers/slack/src/airflow/providers/slack/transfers/sql_to_slack_webhook.py b/providers/slack/src/airflow/providers/slack/transfers/sql_to_slack_webhook.py index c840822c609dd..0326e71da6270 100644 --- a/providers/slack/src/airflow/providers/slack/transfers/sql_to_slack_webhook.py +++ b/providers/slack/src/airflow/providers/slack/transfers/sql_to_slack_webhook.py @@ -26,11 +26,7 @@ from airflow.providers.slack.transfers.base_sql_to_slack import BaseSqlToSlackOperator if TYPE_CHECKING: - try: - from airflow.sdk.definitions.context import Context - except ImportError: - # TODO: Remove once provider drops support for Airflow 2 - from airflow.utils.context import Context + from airflow.providers.common.compat.sdk import Context class SqlToSlackWebhookOperator(BaseSqlToSlackOperator): diff --git a/providers/slack/src/airflow/providers/slack/utils/__init__.py b/providers/slack/src/airflow/providers/slack/utils/__init__.py index a50bee4c66adb..640a52cd6e1bc 100644 --- a/providers/slack/src/airflow/providers/slack/utils/__init__.py +++ b/providers/slack/src/airflow/providers/slack/utils/__init__.py @@ -22,7 +22,7 @@ from asgiref.sync import sync_to_async -from airflow.providers.slack.version_compat import BaseHook, Connection +from airflow.providers.common.compat.sdk import BaseHook, Connection from airflow.utils.types import NOTSET diff --git a/providers/slack/src/airflow/providers/slack/version_compat.py b/providers/slack/src/airflow/providers/slack/version_compat.py index 7ee3d88862700..a4fae50317e81 100644 --- a/providers/slack/src/airflow/providers/slack/version_compat.py +++ b/providers/slack/src/airflow/providers/slack/version_compat.py @@ -35,20 +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_0_PLUS: - from airflow.sdk import BaseOperator, Connection -else: - from airflow.models import BaseOperator, Connection # type: ignore[assignment] - -if AIRFLOW_V_3_1_PLUS: - from airflow.sdk import BaseHook -else: - from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef] - __all__ = [ "AIRFLOW_V_3_0_PLUS", "AIRFLOW_V_3_1_PLUS", - "BaseHook", - "BaseOperator", - "Connection", ]