diff --git a/airflow/providers/salesforce/CHANGELOG.rst b/airflow/providers/salesforce/CHANGELOG.rst index 40c5320752fcc..7e7c22dcb5e6e 100644 --- a/airflow/providers/salesforce/CHANGELOG.rst +++ b/airflow/providers/salesforce/CHANGELOG.rst @@ -24,6 +24,17 @@ Changelog --------- +5.0.0 +..... + +Breaking changes +~~~~~~~~~~~~~~~~ + +* ``Remove Tableau from Salesforce provider (#23747)`` + +.. warning:: Due to tableau extra removal, ``pip install apache-airflow-providers-salesforce[tableau]`` + will not work. You can install Tableau provider directly via ``pip install apache-airflow-providers-tableau``. + 4.0.0 ..... diff --git a/airflow/providers/salesforce/hooks/tableau.py b/airflow/providers/salesforce/hooks/tableau.py deleted file mode 100644 index 8dcfe82a8e6b4..0000000000000 --- a/airflow/providers/salesforce/hooks/tableau.py +++ /dev/null @@ -1,26 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -import warnings - -from airflow.providers.tableau.hooks.tableau import TableauHook, TableauJobFinishCode # noqa - -warnings.warn( - "This module is deprecated. Please use `airflow.providers.tableau.hooks.tableau`.", - DeprecationWarning, - stacklevel=2, -) diff --git a/airflow/providers/salesforce/operators/tableau_refresh_workbook.py b/airflow/providers/salesforce/operators/tableau_refresh_workbook.py deleted file mode 100644 index 007575caad142..0000000000000 --- a/airflow/providers/salesforce/operators/tableau_refresh_workbook.py +++ /dev/null @@ -1,28 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -import warnings - -from airflow.providers.tableau.operators.tableau_refresh_workbook import ( # noqa - TableauRefreshWorkbookOperator, -) - -warnings.warn( - "This module is deprecated. Please use `airflow.providers.tableau.operators.tableau_refresh_workbook`.", - DeprecationWarning, - stacklevel=2, -) diff --git a/airflow/providers/salesforce/provider.yaml b/airflow/providers/salesforce/provider.yaml index 5e1d2dee040cc..f21af24570662 100644 --- a/airflow/providers/salesforce/provider.yaml +++ b/airflow/providers/salesforce/provider.yaml @@ -39,7 +39,6 @@ versions: dependencies: - apache-airflow>=2.2.0 - simple-salesforce>=1.0.0 - - tableauserverclient - pandas>=0.17.1 integrations: @@ -54,17 +53,8 @@ operators: - integration-name: Salesforce python-modules: - airflow.providers.salesforce.operators.salesforce_apex_rest - - airflow.providers.salesforce.operators.tableau_refresh_workbook - -sensors: - - integration-name: Salesforce - python-modules: - - airflow.providers.salesforce.sensors.tableau_job_status hooks: - - integration-name: Tableau - python-modules: - - airflow.providers.salesforce.hooks.tableau - integration-name: Salesforce python-modules: - airflow.providers.salesforce.hooks.salesforce diff --git a/airflow/providers/salesforce/sensors/__init__.py b/airflow/providers/salesforce/sensors/__init__.py deleted file mode 100644 index 13a83393a9124..0000000000000 --- a/airflow/providers/salesforce/sensors/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. diff --git a/airflow/providers/salesforce/sensors/tableau_job_status.py b/airflow/providers/salesforce/sensors/tableau_job_status.py deleted file mode 100644 index 09e2a373eaccb..0000000000000 --- a/airflow/providers/salesforce/sensors/tableau_job_status.py +++ /dev/null @@ -1,29 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -import warnings - -from airflow.providers.tableau.sensors.tableau import ( # noqa - TableauJobFailedException, - TableauJobStatusSensor, -) - -warnings.warn( - "This module is deprecated. Please use `airflow.providers.tableau.sensors.tableau_job_status`.", - DeprecationWarning, - stacklevel=2, -) diff --git a/airflow/providers/tableau/operators/tableau_refresh_workbook.py b/airflow/providers/tableau/operators/tableau_refresh_workbook.py index 306c3ded629bf..79f82af3305ef 100644 --- a/airflow/providers/tableau/operators/tableau_refresh_workbook.py +++ b/airflow/providers/tableau/operators/tableau_refresh_workbook.py @@ -25,7 +25,7 @@ warnings.warn( - """This operator is deprecated. Please use `airflow.providers.tableau.operators.tableau`.""", + "This module is deprecated. Please use `airflow.providers.tableau.operators.tableau`.", DeprecationWarning, stacklevel=2, ) diff --git a/docs/apache-airflow-providers-salesforce/index.rst b/docs/apache-airflow-providers-salesforce/index.rst index 8d50dade333b3..113d5d4c8980d 100644 --- a/docs/apache-airflow-providers-salesforce/index.rst +++ b/docs/apache-airflow-providers-salesforce/index.rst @@ -89,28 +89,8 @@ PIP package Version required ``apache-airflow`` ``>=2.2.0`` ``pandas`` ``>=0.17.1`` ``simple-salesforce`` ``>=1.0.0`` -``tableauserverclient`` ======================= ================== -Cross provider package dependencies ------------------------------------ - -Those are dependencies that might be needed in order to use all the features of the package. -You need to install the specified provider packages in order to use them. - -You can install such cross-provider dependencies when installing from PyPI. For example: - -.. code-block:: bash - - pip install apache-airflow-providers-salesforce[tableau] - - -====================================================================================================== =========== -Dependent package Extra -====================================================================================================== =========== -`apache-airflow-providers-tableau `_ ``tableau`` -====================================================================================================== =========== - Downloading official packages ----------------------------- diff --git a/generated/provider_dependencies.json b/generated/provider_dependencies.json index 6226703df35e5..47ed7c83ee8f5 100644 --- a/generated/provider_dependencies.json +++ b/generated/provider_dependencies.json @@ -551,12 +551,9 @@ "deps": [ "apache-airflow>=2.2.0", "pandas>=0.17.1", - "simple-salesforce>=1.0.0", - "tableauserverclient" + "simple-salesforce>=1.0.0" ], - "cross-providers-deps": [ - "tableau" - ] + "cross-providers-deps": [] }, "samba": { "deps": [ diff --git a/scripts/in_container/verify_providers.py b/scripts/in_container/verify_providers.py index fa4f759dec434..e3d0220178e5c 100755 --- a/scripts/in_container/verify_providers.py +++ b/scripts/in_container/verify_providers.py @@ -149,7 +149,6 @@ class ProviderPackageDetails(NamedTuple): " for alternative uses", "hdfs", ), - ("This operator is deprecated. Please use `airflow.providers.tableau.operators.tableau`.", "salesforce"), ( "You have an incompatible version of 'pyarrow' installed (4.0.1), please install a version that" " adheres to: 'pyarrow<3.1.0,>=3.0.0; extra == \"pandas\"'", @@ -211,9 +210,7 @@ class ProviderPackageDetails(NamedTuple): "This module is deprecated. Please use `airflow.providers.microsoft.azure.sensors.cosmos`.", "This module is deprecated. Please use `airflow.providers.amazon.aws.hooks.dynamodb`.", "This module is deprecated. Please use `airflow.providers.microsoft.azure.transfers.local_to_wasb`.", - "This module is deprecated. Please use `airflow.providers.tableau.operators.tableau_refresh_workbook`.", - "This module is deprecated. Please use `airflow.providers.tableau.sensors.tableau_job_status`.", - "This module is deprecated. Please use `airflow.providers.tableau.hooks.tableau`.", + "This module is deprecated. Please use `airflow.providers.tableau.operators.tableau`.", "This module is deprecated. Please use `kubernetes.client.models.V1Volume`.", "This module is deprecated. Please use `kubernetes.client.models.V1VolumeMount`.", (