diff --git a/providers/salesforce/pyproject.toml b/providers/salesforce/pyproject.toml index 8b5d45facbe2b..a76d9736566f0 100644 --- a/providers/salesforce/pyproject.toml +++ b/providers/salesforce/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.7.4", # + TODO: bump to next version "simple-salesforce>=1.0.0", 'pandas>=2.1.2; python_version <"3.13"', 'pandas>=2.2.3; python_version >="3.13"', @@ -68,6 +69,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/salesforce/src/airflow/providers/salesforce/hooks/salesforce.py b/providers/salesforce/src/airflow/providers/salesforce/hooks/salesforce.py index ff9996cb9f1d2..938bccd10f802 100644 --- a/providers/salesforce/src/airflow/providers/salesforce/hooks/salesforce.py +++ b/providers/salesforce/src/airflow/providers/salesforce/hooks/salesforce.py @@ -32,7 +32,7 @@ from simple_salesforce import Salesforce, api -from airflow.providers.salesforce.version_compat import BaseHook +from airflow.providers.common.compat.sdk import BaseHook if TYPE_CHECKING: import pandas as pd diff --git a/providers/salesforce/src/airflow/providers/salesforce/operators/bulk.py b/providers/salesforce/src/airflow/providers/salesforce/operators/bulk.py index 47eadd72e86a9..041492f391a62 100644 --- a/providers/salesforce/src/airflow/providers/salesforce/operators/bulk.py +++ b/providers/salesforce/src/airflow/providers/salesforce/operators/bulk.py @@ -19,15 +19,15 @@ from collections.abc import Iterable from typing import TYPE_CHECKING, cast +from airflow.providers.common.compat.sdk import BaseOperator from airflow.providers.salesforce.hooks.salesforce import SalesforceHook -from airflow.providers.salesforce.version_compat import BaseOperator if TYPE_CHECKING: from typing import Literal from simple_salesforce.bulk import SFBulkHandler - from airflow.providers.salesforce.version_compat import Context + from airflow.providers.common.compat.sdk import Context class SalesforceBulkOperator(BaseOperator): diff --git a/providers/salesforce/src/airflow/providers/salesforce/operators/salesforce_apex_rest.py b/providers/salesforce/src/airflow/providers/salesforce/operators/salesforce_apex_rest.py index d1187ff73688b..64e8c2d2e5629 100644 --- a/providers/salesforce/src/airflow/providers/salesforce/operators/salesforce_apex_rest.py +++ b/providers/salesforce/src/airflow/providers/salesforce/operators/salesforce_apex_rest.py @@ -18,11 +18,11 @@ from typing import TYPE_CHECKING +from airflow.providers.common.compat.sdk import BaseOperator from airflow.providers.salesforce.hooks.salesforce import SalesforceHook -from airflow.providers.salesforce.version_compat import BaseOperator if TYPE_CHECKING: - from airflow.providers.salesforce.version_compat import Context + from airflow.providers.common.compat.sdk import Context class SalesforceApexRestOperator(BaseOperator): diff --git a/providers/salesforce/src/airflow/providers/salesforce/version_compat.py b/providers/salesforce/src/airflow/providers/salesforce/version_compat.py index 21a2c6de4c2f5..fe3ccfcfd3d7a 100644 --- a/providers/salesforce/src/airflow/providers/salesforce/version_compat.py +++ b/providers/salesforce/src/airflow/providers/salesforce/version_compat.py @@ -30,16 +30,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 - from airflow.sdk.definitions.context import Context -else: - from airflow.models import BaseOperator - from airflow.utils.context import Context - -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", "BaseHook", "BaseOperator", "Context"] +__all__ = [ + "AIRFLOW_V_3_0_PLUS", + "AIRFLOW_V_3_1_PLUS", +]