This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch v2-8-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 188d121d951ea68f1cdfa0a4b3d6970349be1902
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sun Jan 7 20:02:08 2024 +0100

    Upgrade to latest ruff and remove ISC001 warning from output (#36649)
    
    This PR upgrades to latest ruff, and removes the ISC001 warning that
    warns us against potential conflict between ruff and ruff-formatter
    when two strings in one line get concatenated.
    
    This warning makes sense if you run both ruff and formatting at the
    same time, but in our case we are doing it in two separate
    steps - one step is to run ruff linting and the second step is to
    run formatting and running formatting already runs after linting
    is complete.
    
    This warnign is pretty misleading as it distracts from real formatting
    issues you might have.
    
    There is - unfortunately - no standard way to remove the warning
    so we have to do it a little "around" - rather than running
    the pre-commit directly from ruff website, we run our local pre-commit
    with few lines of Python code that runs ruff through shell and
    greps out the ISC001 warning. We also force color to make
    sure the output is still coloured.
    
    (cherry picked from commit 11c46fd2ec165da32202b464be7c2df5cca4d6c0)
---
 .pre-commit-config.yaml                         |  32 ++--
 STATIC_CODE_CHECKS.rst                          |   4 +-
 airflow/contrib/operators/__init__.py           | 189 ++++++++++--------------
 airflow/contrib/secrets/__init__.py             |   2 +-
 airflow/contrib/sensors/__init__.py             |  10 +-
 airflow/contrib/utils/__init__.py               |   4 +-
 pyproject.toml                                  |   2 +-
 scripts/ci/pre_commit/pre_commit_ruff_format.py |  26 ++++
 setup.py                                        |   2 +-
 9 files changed, 131 insertions(+), 140 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 8676195a42..51aba2e09f 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -173,18 +173,6 @@ repos:
         additional_dependencies: ['pyyaml']
         pass_filenames: false
         require_serial: true
-  - repo: https://github.com/astral-sh/ruff-pre-commit
-    rev: v0.1.9
-    hooks:
-      # Since ruff makes use of multiple cores we _purposefully_ don't run 
this in docker so it can use the
-      # host CPU to it's fullest
-      - id: ruff
-        name: ruff-lint
-        args: [--fix]
-        exclude: ^.*/.*_vendor/|^tests/dags/test_imports.py
-      - id: ruff-format
-        name: ruff-format
-        exclude: ^.*/.*_vendor/|^tests/dags/test_imports.py|^airflow/contrib/
   - repo: https://github.com/asottile/blacken-docs
     rev: 1.16.0
     hooks:
@@ -300,6 +288,26 @@ repos:
     # changes quickly - especially when we want the early modifications from 
the first local group
     # to be applied before the non-local pre-commits are run
     hooks:
+      - id: ruff
+        name: Run 'ruff' for extremely fast Python linting
+        description: "Run 'ruff' for extremely fast Python linting"
+        entry: ruff check --force-exclude
+        language: python
+        types_or: [python, pyi]
+        args: [--fix]
+        require_serial: true
+        additional_dependencies: ["ruff==0.1.11"]
+        exclude: ^.*/.*_vendor/|^tests/dags/test_imports.py
+      - id: ruff-format
+        name: Run 'ruff format' for extremely fast Python formatting
+        description: "Run 'ruff format' for extremely fast Python formatting"
+        entry: ./scripts/ci/pre_commit/pre_commit_ruff_format.py
+        language: python
+        types_or: [python, pyi]
+        args: []
+        require_serial: true
+        additional_dependencies: ["ruff==0.1.11"]
+        exclude: ^.*/.*_vendor/|^tests/dags/test_imports.py|^airflow/contrib/
       - id: replace-bad-characters
         name: Replace bad characters
         entry: ./scripts/ci/pre_commit/pre_commit_replace_bad_characters.py
diff --git a/STATIC_CODE_CHECKS.rst b/STATIC_CODE_CHECKS.rst
index 57d11e42c2..81911d7375 100644
--- a/STATIC_CODE_CHECKS.rst
+++ b/STATIC_CODE_CHECKS.rst
@@ -360,9 +360,9 @@ require Breeze Docker image to be built locally.
 
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
 | rst-backticks                                             | Check if RST 
files use double backticks for code             |         |
 
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
-| ruff                                                      | ruff-lint        
                                            |         |
+| ruff                                                      | Run 'ruff' for 
extremely fast Python linting                 |         |
 
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
-| ruff-format                                               | ruff-format      
                                            |         |
+| ruff-format                                               | Run 'ruff 
format' for extremely fast Python formatting       |         |
 
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
 | shellcheck                                                | Check Shell 
scripts syntax correctness                       |         |
 
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
diff --git a/airflow/contrib/operators/__init__.py 
b/airflow/contrib/operators/__init__.py
index faf1899606..86351d05a1 100644
--- a/airflow/contrib/operators/__init__.py
+++ b/airflow/contrib/operators/__init__.py
@@ -180,9 +180,8 @@ __deprecated_classes = {
         "DataprocDeleteClusterOperator": (
             
"airflow.providers.google.cloud.operators.dataproc.DataprocDeleteClusterOperator"
         ),
-        "DataprocInstantiateInlineWorkflowTemplateOperator":
-            "airflow.providers.google.cloud.operators.dataproc."
-            "DataprocInstantiateInlineWorkflowTemplateOperator",
+        "DataprocInstantiateInlineWorkflowTemplateOperator": 
"airflow.providers.google.cloud.operators.dataproc."
+        "DataprocInstantiateInlineWorkflowTemplateOperator",
         "DataprocInstantiateWorkflowTemplateOperator": (
             
"airflow.providers.google.cloud.operators.dataproc.DataprocInstantiateWorkflowTemplateOperator"
         ),
@@ -240,9 +239,8 @@ __deprecated_classes = {
         "DataProcSparkSqlOperator": (
             
"airflow.providers.google.cloud.operators.dataproc.DataprocSubmitSparkSqlJobOperator"
         ),
-        "DataprocWorkflowTemplateInstantiateInlineOperator":
-            "airflow.providers.google.cloud.operators.dataproc."
-            "DataprocInstantiateInlineWorkflowTemplateOperator",
+        "DataprocWorkflowTemplateInstantiateInlineOperator": 
"airflow.providers.google.cloud.operators.dataproc."
+        "DataprocInstantiateInlineWorkflowTemplateOperator",
         "DataprocWorkflowTemplateInstantiateOperator": (
             
"airflow.providers.google.cloud.operators.dataproc.DataprocInstantiateWorkflowTemplateOperator"
         ),
@@ -351,9 +349,8 @@ __deprecated_classes = {
         "ComputeEngineCopyInstanceTemplateOperator": (
             
"airflow.providers.google.cloud.operators.compute.ComputeEngineCopyInstanceTemplateOperator"
         ),
-        "ComputeEngineInstanceGroupUpdateManagerTemplateOperator":
-            "airflow.providers.google.cloud.operators.compute."
-            "ComputeEngineInstanceGroupUpdateManagerTemplateOperator",
+        "ComputeEngineInstanceGroupUpdateManagerTemplateOperator": 
"airflow.providers.google.cloud.operators.compute."
+        "ComputeEngineInstanceGroupUpdateManagerTemplateOperator",
         "ComputeEngineSetMachineTypeOperator": (
             
"airflow.providers.google.cloud.operators.compute.ComputeEngineSetMachineTypeOperator"
         ),
@@ -364,9 +361,8 @@ __deprecated_classes = {
             
"airflow.providers.google.cloud.operators.compute.ComputeEngineStopInstanceOperator"
         ),
         "GceBaseOperator": 
"airflow.providers.google.cloud.operators.compute.ComputeEngineBaseOperator",
-        "GceInstanceGroupManagerUpdateTemplateOperator":
-            "airflow.providers.google.cloud.operators.compute."
-            "ComputeEngineInstanceGroupUpdateManagerTemplateOperator",
+        "GceInstanceGroupManagerUpdateTemplateOperator": 
"airflow.providers.google.cloud.operators.compute."
+        "ComputeEngineInstanceGroupUpdateManagerTemplateOperator",
         "GceInstanceStartOperator": (
             
"airflow.providers.google.cloud.operators.compute.ComputeEngineStartInstanceOperator"
         ),
@@ -513,30 +509,22 @@ __deprecated_classes = {
         ),
     },
     "gcp_natural_language_operator": {
-        "CloudNaturalLanguageAnalyzeEntitiesOperator":
-            "airflow.providers.google.cloud.operators.natural_language."
-            "CloudNaturalLanguageAnalyzeEntitiesOperator",
-        "CloudNaturalLanguageAnalyzeEntitySentimentOperator":
-            "airflow.providers.google.cloud.operators.natural_language."
-            "CloudNaturalLanguageAnalyzeEntitySentimentOperator",
-        "CloudNaturalLanguageAnalyzeSentimentOperator":
-            "airflow.providers.google.cloud.operators.natural_language."
-            "CloudNaturalLanguageAnalyzeSentimentOperator",
-        "CloudNaturalLanguageClassifyTextOperator":
-            "airflow.providers.google.cloud.operators.natural_language."
-            "CloudNaturalLanguageClassifyTextOperator",
-        "CloudLanguageAnalyzeEntitiesOperator":
-            "airflow.providers.google.cloud.operators.natural_language."
-            "CloudNaturalLanguageAnalyzeEntitiesOperator",
-        "CloudLanguageAnalyzeEntitySentimentOperator":
-            "airflow.providers.google.cloud.operators.natural_language."
-            "CloudNaturalLanguageAnalyzeEntitySentimentOperator",
-        "CloudLanguageAnalyzeSentimentOperator":
-            "airflow.providers.google.cloud.operators.natural_language."
-            "CloudNaturalLanguageAnalyzeSentimentOperator",
-        "CloudLanguageClassifyTextOperator":
-            "airflow.providers.google.cloud.operators.natural_language."
-            "CloudNaturalLanguageClassifyTextOperator",
+        "CloudNaturalLanguageAnalyzeEntitiesOperator": 
"airflow.providers.google.cloud.operators.natural_language."
+        "CloudNaturalLanguageAnalyzeEntitiesOperator",
+        "CloudNaturalLanguageAnalyzeEntitySentimentOperator": 
"airflow.providers.google.cloud.operators.natural_language."
+        "CloudNaturalLanguageAnalyzeEntitySentimentOperator",
+        "CloudNaturalLanguageAnalyzeSentimentOperator": 
"airflow.providers.google.cloud.operators.natural_language."
+        "CloudNaturalLanguageAnalyzeSentimentOperator",
+        "CloudNaturalLanguageClassifyTextOperator": 
"airflow.providers.google.cloud.operators.natural_language."
+        "CloudNaturalLanguageClassifyTextOperator",
+        "CloudLanguageAnalyzeEntitiesOperator": 
"airflow.providers.google.cloud.operators.natural_language."
+        "CloudNaturalLanguageAnalyzeEntitiesOperator",
+        "CloudLanguageAnalyzeEntitySentimentOperator": 
"airflow.providers.google.cloud.operators.natural_language."
+        "CloudNaturalLanguageAnalyzeEntitySentimentOperator",
+        "CloudLanguageAnalyzeSentimentOperator": 
"airflow.providers.google.cloud.operators.natural_language."
+        "CloudNaturalLanguageAnalyzeSentimentOperator",
+        "CloudLanguageClassifyTextOperator": 
"airflow.providers.google.cloud.operators.natural_language."
+        "CloudNaturalLanguageClassifyTextOperator",
     },
     "gcp_spanner_operator": {
         "SpannerDeleteDatabaseInstanceOperator": (
@@ -692,66 +680,46 @@ __deprecated_classes = {
         ),
     },
     "gcp_transfer_operator": {
-        "CloudDataTransferServiceCancelOperationOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceCancelOperationOperator",
-        "CloudDataTransferServiceCreateJobOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceCreateJobOperator",
-        "CloudDataTransferServiceDeleteJobOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceDeleteJobOperator",
-        "CloudDataTransferServiceGCSToGCSOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceGCSToGCSOperator",
-        "CloudDataTransferServiceGetOperationOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceGetOperationOperator",
-        "CloudDataTransferServiceListOperationsOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceListOperationsOperator",
-        "CloudDataTransferServicePauseOperationOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServicePauseOperationOperator",
-        "CloudDataTransferServiceResumeOperationOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceResumeOperationOperator",
-        "CloudDataTransferServiceS3ToGCSOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceS3ToGCSOperator",
-        "CloudDataTransferServiceUpdateJobOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceUpdateJobOperator",
-        "GcpTransferServiceJobCreateOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceCreateJobOperator",
-        "GcpTransferServiceJobDeleteOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceDeleteJobOperator",
-        "GcpTransferServiceJobUpdateOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceUpdateJobOperator",
-        "GcpTransferServiceOperationCancelOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceCancelOperationOperator",
-        "GcpTransferServiceOperationGetOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceGetOperationOperator",
-        "GcpTransferServiceOperationPauseOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServicePauseOperationOperator",
-        "GcpTransferServiceOperationResumeOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceResumeOperationOperator",
-        "GcpTransferServiceOperationsListOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceListOperationsOperator",
-        "GoogleCloudStorageToGoogleCloudStorageTransferOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceGCSToGCSOperator",
-        "S3ToGoogleCloudStorageTransferOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceS3ToGCSOperator",
+        "CloudDataTransferServiceCancelOperationOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceCancelOperationOperator",
+        "CloudDataTransferServiceCreateJobOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceCreateJobOperator",
+        "CloudDataTransferServiceDeleteJobOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceDeleteJobOperator",
+        "CloudDataTransferServiceGCSToGCSOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceGCSToGCSOperator",
+        "CloudDataTransferServiceGetOperationOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceGetOperationOperator",
+        "CloudDataTransferServiceListOperationsOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceListOperationsOperator",
+        "CloudDataTransferServicePauseOperationOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServicePauseOperationOperator",
+        "CloudDataTransferServiceResumeOperationOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceResumeOperationOperator",
+        "CloudDataTransferServiceS3ToGCSOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceS3ToGCSOperator",
+        "CloudDataTransferServiceUpdateJobOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceUpdateJobOperator",
+        "GcpTransferServiceJobCreateOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceCreateJobOperator",
+        "GcpTransferServiceJobDeleteOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceDeleteJobOperator",
+        "GcpTransferServiceJobUpdateOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceUpdateJobOperator",
+        "GcpTransferServiceOperationCancelOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceCancelOperationOperator",
+        "GcpTransferServiceOperationGetOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceGetOperationOperator",
+        "GcpTransferServiceOperationPauseOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServicePauseOperationOperator",
+        "GcpTransferServiceOperationResumeOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceResumeOperationOperator",
+        "GcpTransferServiceOperationsListOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceListOperationsOperator",
+        "GoogleCloudStorageToGoogleCloudStorageTransferOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceGCSToGCSOperator",
+        "S3ToGoogleCloudStorageTransferOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceS3ToGCSOperator",
     },
     "gcp_translate_operator": {
         "CloudTranslateTextOperator": (
@@ -767,15 +735,12 @@ __deprecated_classes = {
         ),
     },
     "gcp_video_intelligence_operator": {
-        "CloudVideoIntelligenceDetectVideoExplicitContentOperator":
-            "airflow.providers.google.cloud.operators.video_intelligence."
-            "CloudVideoIntelligenceDetectVideoExplicitContentOperator",
-        "CloudVideoIntelligenceDetectVideoLabelsOperator":
-            "airflow.providers.google.cloud.operators.video_intelligence."
-            "CloudVideoIntelligenceDetectVideoLabelsOperator",
-        "CloudVideoIntelligenceDetectVideoShotsOperator":
-            "airflow.providers.google.cloud.operators.video_intelligence."
-            "CloudVideoIntelligenceDetectVideoShotsOperator",
+        "CloudVideoIntelligenceDetectVideoExplicitContentOperator": 
"airflow.providers.google.cloud.operators.video_intelligence."
+        "CloudVideoIntelligenceDetectVideoExplicitContentOperator",
+        "CloudVideoIntelligenceDetectVideoLabelsOperator": 
"airflow.providers.google.cloud.operators.video_intelligence."
+        "CloudVideoIntelligenceDetectVideoLabelsOperator",
+        "CloudVideoIntelligenceDetectVideoShotsOperator": 
"airflow.providers.google.cloud.operators.video_intelligence."
+        "CloudVideoIntelligenceDetectVideoShotsOperator",
     },
     "gcp_vision_operator": {
         "CloudVisionAddProductToProductSetOperator": (
@@ -945,9 +910,7 @@ __deprecated_classes = {
         "JiraOperator": 
"airflow.providers.atlassian.jira.operators.jira.JiraOperator",
     },
     "kubernetes_pod_operator": {
-        "KubernetesPodOperator": (
-            
"airflow.providers.cncf.kubernetes.operators.pod.KubernetesPodOperator"
-        ),
+        "KubernetesPodOperator": 
("airflow.providers.cncf.kubernetes.operators.pod.KubernetesPodOperator"),
     },
     "mlengine_operator": {
         "MLEngineManageModelOperator": (
@@ -997,9 +960,8 @@ __deprecated_classes = {
         "OpsgenieAlertOperator": 
"airflow.providers.opsgenie.operators.opsgenie.OpsgenieCreateAlertOperator",
     },
     "oracle_to_azure_data_lake_transfer": {
-        "OracleToAzureDataLakeOperator":
-            "airflow.providers.microsoft.azure.transfers."
-            "oracle_to_azure_data_lake.OracleToAzureDataLakeOperator",
+        "OracleToAzureDataLakeOperator": 
"airflow.providers.microsoft.azure.transfers."
+        "oracle_to_azure_data_lake.OracleToAzureDataLakeOperator",
     },
     "oracle_to_oracle_transfer": {
         "OracleToOracleOperator": (
@@ -1056,9 +1018,8 @@ __deprecated_classes = {
         "S3ToGCSOperator": 
"airflow.providers.google.cloud.transfers.s3_to_gcs.S3ToGCSOperator",
     },
     "s3_to_gcs_transfer_operator": {
-        "CloudDataTransferServiceS3ToGCSOperator":
-            
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
-            "CloudDataTransferServiceS3ToGCSOperator",
+        "CloudDataTransferServiceS3ToGCSOperator": 
"airflow.providers.google.cloud.operators.cloud_storage_transfer_service."
+        "CloudDataTransferServiceS3ToGCSOperator",
     },
     "s3_to_sftp_operator": {
         "S3ToSFTPOperator": 
"airflow.providers.amazon.aws.transfers.s3_to_sftp.S3ToSFTPOperator",
diff --git a/airflow/contrib/secrets/__init__.py 
b/airflow/contrib/secrets/__init__.py
index 7498cf0fc5..d97107bfed 100644
--- a/airflow/contrib/secrets/__init__.py
+++ b/airflow/contrib/secrets/__init__.py
@@ -26,7 +26,7 @@ from airflow.utils.deprecation_tools import 
add_deprecated_classes
 warnings.warn(
     "This module is deprecated. Please use airflow.providers.*.secrets.",
     RemovedInAirflow3Warning,
-    stacklevel=2
+    stacklevel=2,
 )
 
 __deprecated_classes = {
diff --git a/airflow/contrib/sensors/__init__.py 
b/airflow/contrib/sensors/__init__.py
index 9d9d1c1557..811263de75 100644
--- a/airflow/contrib/sensors/__init__.py
+++ b/airflow/contrib/sensors/__init__.py
@@ -85,12 +85,10 @@ __deprecated_classes = {
         "FTPSSensor": "airflow.providers.ftp.sensors.ftp.FTPSSensor",
     },
     "gcp_transfer_sensor": {
-        "CloudDataTransferServiceJobStatusSensor":
-            
"airflow.providers.google.cloud.sensors.cloud_storage_transfer_service."
-            "CloudDataTransferServiceJobStatusSensor",
-        "GCPTransferServiceWaitForJobStatusSensor":
-            
"airflow.providers.google.cloud.sensors.cloud_storage_transfer_service."
-            "CloudDataTransferServiceJobStatusSensor",
+        "CloudDataTransferServiceJobStatusSensor": 
"airflow.providers.google.cloud.sensors.cloud_storage_transfer_service."
+        "CloudDataTransferServiceJobStatusSensor",
+        "GCPTransferServiceWaitForJobStatusSensor": 
"airflow.providers.google.cloud.sensors.cloud_storage_transfer_service."
+        "CloudDataTransferServiceJobStatusSensor",
     },
     "gcs_sensor": {
         "GCSObjectExistenceSensor": 
"airflow.providers.google.cloud.sensors.gcs.GCSObjectExistenceSensor",
diff --git a/airflow/contrib/utils/__init__.py 
b/airflow/contrib/utils/__init__.py
index c24b7a24e9..0202a1c7c1 100644
--- a/airflow/contrib/utils/__init__.py
+++ b/airflow/contrib/utils/__init__.py
@@ -24,9 +24,7 @@ from airflow.exceptions import RemovedInAirflow3Warning
 from airflow.utils.deprecation_tools import add_deprecated_classes
 
 warnings.warn(
-    "This module is deprecated. Please use `airflow.utils`.",
-    RemovedInAirflow3Warning,
-    stacklevel=2
+    "This module is deprecated. Please use `airflow.utils`.", 
RemovedInAirflow3Warning, stacklevel=2
 )
 
 __deprecated_classes = {
diff --git a/pyproject.toml b/pyproject.toml
index 7a305243a1..a8f4bbdeec 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -63,7 +63,7 @@ extend-select = [
     "TID251",  # Specific modules or module members that may not be imported 
or accessed
     "TID253",  # Ban certain modules from being imported at module level
 ]
-extend-ignore = [
+ignore = [
     "D203",
     "D212",
     "D213",
diff --git a/scripts/ci/pre_commit/pre_commit_ruff_format.py 
b/scripts/ci/pre_commit/pre_commit_ruff_format.py
new file mode 100755
index 0000000000..f7f9f0f599
--- /dev/null
+++ b/scripts/ci/pre_commit/pre_commit_ruff_format.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python
+# 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.
+from __future__ import annotations
+
+import os
+import subprocess
+
+ruff_format_cmd = "ruff format --force-exclude 2>&1 | grep -v '`ISC001`. To 
avoid unexpected behavior'"
+envcopy = os.environ.copy()
+envcopy["CLICOLOR_FORCE"] = "1"
+subprocess.run(ruff_format_cmd, shell=True, check=True, env=envcopy)
diff --git a/setup.py b/setup.py
index 2b01c28a6b..0628f3aacf 100644
--- a/setup.py
+++ b/setup.py
@@ -466,7 +466,7 @@ _devel_only_sentry = [
 _devel_only_static_checks = [
     "pre-commit",
     "black",
-    "ruff>=0.0.219",
+    "ruff==0.1.11",
     "yamllint",
 ]
 

Reply via email to