You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2025/03/30 18:06:07 UTC

(airflow) branch main updated: Upgrade ruff to latest version (#48553)

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

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 47002feacd8 Upgrade ruff to latest version (#48553)
47002feacd8 is described below

commit 47002feacd8aaf794b47c2dd241aa25068354a2a
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Sun Mar 30 20:06:01 2025 +0200

    Upgrade ruff to latest version (#48553)
---
 .pre-commit-config.yaml                            |   6 +-
 airflow-core/src/airflow/api_fastapi/app.py        |   3 +-
 .../src/airflow/api_fastapi/core_api/app.py        |   2 +-
 .../core_api/routes/public/dag_report.py           |   2 +-
 .../api_fastapi/core_api/routes/public/dag_run.py  |   2 +-
 .../api_fastapi/core_api/routes/public/plugins.py  |   2 +-
 .../core_api/routes/public/task_instances.py       |   2 +-
 .../api_fastapi/core_api/routes/public/tasks.py    |   4 +-
 .../airflow/api_fastapi/core_api/routes/ui/auth.py |   2 +-
 .../core_api/services/ui/connections.py            |   6 +-
 .../src/airflow/cli/commands/task_command.py       |   2 +-
 .../src/airflow/cli/commands/variable_command.py   |   3 +-
 .../src/airflow/dag_processing/collection.py       |   5 +-
 airflow-core/src/airflow/dag_processing/manager.py |   2 +-
 airflow-core/src/airflow/decorators/base.py        |   8 +-
 .../example_dags/example_params_ui_tutorial.py     | 424 ++++++++++-----------
 .../src/airflow/executors/executor_utils.py        |   6 +-
 airflow-core/src/airflow/io/__init__.py            |  10 +-
 airflow-core/src/airflow/lineage/__init__.py       |   4 +-
 airflow-core/src/airflow/metrics/statsd_logger.py  |   2 +-
 airflow-core/src/airflow/metrics/validators.py     |   2 +-
 airflow-core/src/airflow/models/dag.py             |   8 +-
 airflow-core/src/airflow/models/xcom.py            |   2 +-
 airflow-core/src/airflow/policies.py               |   2 +-
 airflow-core/src/airflow/serialization/helpers.py  |   4 +-
 airflow-core/src/airflow/serialization/serde.py    |   2 +-
 .../airflow/serialization/serialized_objects.py    |   8 +-
 .../airflow/serialization/serializers/builtin.py   |   2 +-
 .../airflow/serialization/serializers/timezone.py  |   4 +-
 airflow-core/src/airflow/utils/cli.py              |   6 +-
 airflow-core/src/airflow/utils/context.py          |   2 +-
 airflow-core/src/airflow/utils/helpers.py          |   4 +-
 .../src/airflow/utils/log/logging_mixin.py         |   4 +-
 airflow-core/src/airflow/utils/session.py          |   9 +-
 airflow-core/src/airflow/utils/setup_teardown.py   |   4 +-
 airflow-core/src/airflow/utils/yaml.py             |   2 +-
 .../auth/managers/test_base_auth_manager.py        |   6 +-
 .../api_fastapi/core_api/routes/ui/test_dags.py    |   2 +-
 airflow-core/tests/unit/assets/test_evaluation.py  |  12 +-
 .../tests/unit/cli/commands/test_db_command.py     |   6 +-
 .../unit/cli/commands/test_legacy_commands.py      |   3 +-
 airflow-core/tests/unit/cli/test_cli_parser.py     |   6 +-
 airflow-core/tests/unit/jobs/test_scheduler_job.py |  12 +-
 airflow-core/tests/unit/models/test_dag.py         |   6 +-
 airflow-core/tests/unit/models/test_dagbag.py      |   4 +-
 .../tests/unit/models/test_renderedtifields.py     |   4 +-
 .../tests/unit/models/test_taskinstance.py         |  14 +-
 airflow-core/tests/unit/models/test_xcom_arg.py    |   3 +-
 .../unit/sensors/test_external_task_sensor.py      |  18 +-
 .../unit/serialization/test_dag_serialization.py   |  18 +-
 .../tests/unit/timetables/test_assets_timetable.py |  42 +-
 airflow-ctl/src/airflowctl/api/client.py           |   2 +-
 clients/python/test_python_client.py               |   2 +-
 dev/assign_cherry_picked_prs_with_milestone.py     |   4 +-
 .../airflow_breeze/commands/ci_image_commands.py   |   3 +-
 .../commands/release_management_commands.py        |   6 +-
 .../src/airflow_breeze/commands/setup_commands.py  |   6 +-
 .../airflow_breeze/commands/testing_commands.py    |   2 +-
 .../src/airflow_breeze/params/shell_params.py      |   3 +-
 .../prepare_providers/provider_documentation.py    |   3 +-
 .../airflow_breeze/utils/add_back_references.py    |   2 +-
 .../airflow_breeze/utils/docker_command_utils.py   |   3 +-
 dev/breeze/src/airflow_breeze/utils/github.py      |   6 +-
 .../src/airflow_breeze/utils/kubernetes_utils.py   |  12 +-
 dev/breeze/src/airflow_breeze/utils/packages.py    |   8 +-
 .../airflow_breeze/utils/provider_dependencies.py  |   3 +-
 dev/breeze/src/airflow_breeze/utils/run_utils.py   |   3 +-
 dev/breeze/src/airflow_breeze/utils/versions.py    |   2 +-
 dev/breeze/tests/test_selective_checks.py          |   6 +-
 dev/prepare_bulk_issues.py                         |   2 +-
 dev/system_tests/update_issue_status.py            |   3 +-
 devel-common/pyproject.toml                        |   2 +-
 devel-common/src/tests_common/pytest_plugin.py     |   4 +-
 devel-common/src/tests_common/test_utils/compat.py |   3 +-
 .../src/tests_common/test_utils/system_tests.py    |   6 +-
 docker_tests/test_prod_image.py                    |  10 +-
 docs/exts/docs_build/package_filter.py             |   2 +-
 docs/exts/exampleinclude.py                        |   3 -
 helm_tests/airflow_aux/test_airflow_common.py      |  12 +-
 helm_tests/airflow_aux/test_basic_helm_chart.py    |  12 +-
 .../performance_dag/performance_dag_utils.py       |   3 +-
 .../airflow/providers/alibaba/cloud/hooks/oss.py   |   4 +-
 .../tests/unit/alibaba/cloud/utils/test_utils.py   |   2 +-
 .../amazon/aws/auth_manager/aws_auth_manager.py    |  26 +-
 .../amazon/aws/executors/ecs/ecs_executor.py       |   2 +-
 .../providers/amazon/aws/hooks/athena_sql.py       |   4 +-
 .../providers/amazon/aws/hooks/batch_client.py     |   3 +-
 .../src/airflow/providers/amazon/aws/hooks/dms.py  |   4 +-
 .../providers/amazon/aws/hooks/redshift_data.py    |   3 +-
 .../providers/amazon/aws/hooks/sagemaker.py        |   2 +-
 .../airflow/providers/amazon/aws/links/athena.py   |   3 +-
 .../airflow/providers/amazon/aws/operators/eks.py  |   6 +-
 .../providers/amazon/aws/operators/sagemaker.py    |   8 +-
 .../providers/amazon/aws/sensors/glacier.py        |   2 +-
 .../src/airflow/providers/amazon/aws/sensors/s3.py |   2 +-
 .../providers/amazon/aws/transfers/mongo_to_s3.py  |   4 +-
 .../providers/amazon/aws/transfers/sql_to_s3.py    |   2 +-
 .../amazon/tests/system/amazon/aws/example_dms.py  |   2 +-
 .../tests/system/amazon/aws/example_sagemaker.py   |   4 +-
 .../amazon/aws/example_sagemaker_endpoint.py       |   2 +-
 .../aws/executors/batch/test_batch_executor.py     |   4 +-
 .../amazon/tests/unit/amazon/aws/fs/test_s3.py     |   9 +-
 .../amazon/tests/unit/amazon/aws/hooks/test_s3.py  |   6 +-
 .../tests/unit/amazon/aws/links/test_base_aws.py   |  12 +-
 .../tests/unit/amazon/aws/links/test_batch.py      |   3 +-
 .../tests/unit/amazon/aws/links/test_sagemaker.py  |   3 +-
 .../tests/unit/amazon/aws/operators/test_eks.py    |  12 +-
 .../amazon/aws/operators/test_emr_containers.py    |   6 +-
 .../aws/operators/test_emr_create_job_flow.py      |   6 +-
 .../aws/operators/test_emr_terminate_job_flow.py   |   6 +-
 .../amazon/aws/operators/test_redshift_cluster.py  |  24 +-
 .../amazon/aws/secrets/test_systems_manager.py     |   9 +-
 .../unit/amazon/aws/sensors/test_emr_containers.py |   6 +-
 .../unit/amazon/aws/sensors/test_emr_job_flow.py   |   6 +-
 .../tests/unit/amazon/aws/sensors/test_glacier.py  |   2 +-
 .../amazon/aws/sensors/test_redshift_cluster.py    |   6 +-
 .../amazon/aws/transfers/test_s3_to_dynamodb.py    |   6 +-
 .../amazon/aws/utils/test_connection_wrapper.py    |   6 +-
 .../tests/unit/apache/beam/operators/test_beam.py  |  12 +-
 .../airflow/providers/apache/drill/hooks/drill.py  |   2 +-
 .../tests/unit/apache/druid/hooks/test_druid.py    |   9 +-
 .../system/apache/hive/example_twitter_dag.py      |   4 +-
 .../unit/apache/hive/operators/test_hive_stats.py  |   4 +-
 .../unit/apache/hive/transfers/test_s3_to_hive.py  |  18 +-
 .../unit/apache/spark/hooks/test_spark_jdbc.py     |   6 +-
 .../apache/spark/hooks/test_spark_jdbc_script.py   |   3 +-
 .../unit/apache/spark/hooks/test_spark_submit.py   |  15 +-
 .../unit/apache/spark/operators/test_spark_jdbc.py |   3 +-
 .../cncf/kubernetes/operators/spark_kubernetes.py  |   2 +-
 .../providers/cncf/kubernetes/triggers/pod.py      |   4 +-
 .../providers/cncf/kubernetes/utils/pod_manager.py |   2 +-
 .../airflow/providers/common/io/xcom/__init__.py   |   3 +-
 .../common/io/example_file_transfer_local_to_s3.py |   2 +-
 .../providers/common/sql/hooks/handlers.pyi        |   4 +-
 .../src/airflow/providers/common/sql/hooks/sql.py  |   4 +-
 .../src/airflow/providers/common/sql/hooks/sql.pyi |   4 +-
 .../airflow/providers/common/sql/operators/sql.py  |  13 +-
 .../providers/databricks/hooks/databricks_sql.py   |   9 +-
 .../providers/databricks/utils/databricks.py       |   2 +-
 .../unit/databricks/operators/test_databricks.py   |   6 +-
 .../src/airflow/providers/dbt/cloud/hooks/dbt.py   |   5 +-
 .../airflow/providers/docker/decorators/docker.py  |  10 +-
 .../tests/unit/docker/operators/test_docker.py     |   6 +-
 .../unit/docker/operators/test_docker_swarm.py     |   6 +-
 .../src/airflow/providers/edge/cli/edge_command.py |   4 +-
 .../providers/edge/plugins/edge_executor_plugin.py |  10 +-
 .../providers/edge/worker_api/routes/logs.py       |   3 +-
 .../auth_manager/api/auth/backend/basic_auth.py    |   7 +-
 .../auth_manager/api/auth/backend/kerberos_auth.py |   6 +-
 .../fab/auth_manager/api/auth/backend/session.py   |   2 +-
 .../api_endpoints/role_and_permission_endpoint.py  |  17 +-
 .../auth_manager/api_endpoints/user_endpoint.py    |  15 +-
 .../fab/auth_manager/api_fastapi/services/login.py |   4 +-
 .../fab/auth_manager/cli_commands/utils.py         |   2 +-
 .../providers/fab/www/api_connexion/parameters.py  |   2 +-
 .../providers/fab/www/api_connexion/security.py    |   6 +-
 providers/fab/src/airflow/providers/fab/www/app.py |   2 +-
 .../fab/src/airflow/providers/fab/www/auth.py      |  12 +-
 .../api_endpoints/remote_user_api_auth_backend.py  |   7 +-
 .../auth_manager/cli_commands/test_user_command.py |   6 +-
 .../providers/google/cloud/hooks/bigquery.py       |  17 +-
 .../providers/google/cloud/hooks/cloud_batch.py    |   3 +-
 .../providers/google/cloud/hooks/dataflow.py       |   4 +-
 .../providers/google/cloud/hooks/dataform.py       |  18 +-
 .../providers/google/cloud/hooks/datafusion.py     |   3 +-
 .../airflow/providers/google/cloud/hooks/gcs.py    |  10 +-
 .../providers/google/cloud/hooks/translate.py      |   2 +-
 .../providers/google/cloud/openlineage/mixins.py   |   4 +-
 .../providers/google/cloud/operators/automl.py     |   2 +-
 .../providers/google/cloud/operators/dataproc.py   |   3 +-
 .../providers/google/cloud/operators/spanner.py    |   3 +-
 .../providers/google/cloud/operators/translate.py  |   4 +-
 .../google/cloud/transfers/gcs_to_bigquery.py      |   3 +-
 .../triggers/cloud_storage_transfer_service.py     |   4 +-
 .../google/common/auth_backend/google_openid.py    |   2 +-
 .../providers/google/common/hooks/base_google.py   |  12 +-
 .../marketing_platform/sensors/display_video.py    |   2 +-
 .../airflow/providers/google/suite/hooks/drive.py  |   4 +-
 .../google/cloud/bigquery/example_bigquery_dts.py  |   4 +-
 .../cloud/cloud_build/example_cloud_build.py       |  20 +-
 .../cloud_build/example_cloud_build_trigger.py     |   2 +-
 .../google/cloud/compute/example_compute_igm.py    |   3 +-
 .../google/cloud/gcs/example_gcs_to_gdrive.py      |   5 +-
 .../google/cloud/gcs/example_gcs_to_sheets.py      |   6 +-
 .../google/cloud/gcs/example_gdrive_to_gcs.py      |   5 +-
 .../system/google/cloud/gcs/example_sheets.py      |   6 +-
 .../google/cloud/gcs/example_sheets_to_gcs.py      |   3 +-
 .../cloud/sql_to_sheets/example_sql_to_sheets.py   |   3 +-
 .../cloud/transfers/example_gdrive_to_local.py     |   5 +-
 .../example_vertex_ai_custom_container.py          |   3 +-
 .../vertex_ai/example_vertex_ai_pipeline_job.py    |   6 +-
 .../google/cloud/workflows/example_workflows.py    |   4 +-
 .../example_datacatalog_search_catalog.py          |   2 +-
 .../google/datacatalog/example_datacatalog_tags.py |   2 +-
 .../marketing_platform/example_campaign_manager.py |   4 +-
 .../marketing_platform/example_display_video.py    |   6 +-
 .../tests/unit/google/cloud/hooks/test_bigquery.py |  12 +-
 .../unit/google/cloud/hooks/test_bigquery_dts.py   |   6 +-
 .../tests/unit/google/cloud/hooks/test_dataform.py |  18 +-
 .../unit/google/cloud/operators/test_bigquery.py   |  36 +-
 .../google/cloud/operators/test_cloud_build.py     |   6 +-
 .../unit/google/cloud/operators/test_compute.py    |  12 +-
 .../unit/google/cloud/operators/test_datafusion.py |   6 +-
 .../unit/google/cloud/operators/test_dataproc.py   |   9 +-
 .../unit/google/cloud/operators/test_mlengine.py   |   6 +-
 .../unit/google/cloud/operators/test_vertex_ai.py  |  18 +-
 .../unit/google/cloud/sensors/test_bigquery.py     |  12 +-
 .../unit/google/cloud/sensors/test_dataflow.py     |  24 +-
 .../tests/unit/google/cloud/sensors/test_gcs.py    |  12 +-
 .../google/cloud/transfers/test_bigquery_to_gcs.py |   6 +-
 .../unit/google/cloud/triggers/test_bigquery.py    |   6 +-
 .../cloud/utils/test_credentials_provider.py       |   4 +-
 .../unit/google/leveldb/hooks/test_leveldb.py      |   6 +-
 .../marketing_platform/hooks/test_display_video.py |  63 +--
 .../hashicorp/_internal_client/vault_client.py     |   3 +-
 providers/http/tests/unit/http/hooks/test_http.py  |  12 +-
 .../microsoft/azure/hooks/container_instance.py    |   4 +-
 .../microsoft/azure/hooks/data_factory.py          |   4 +-
 .../providers/microsoft/azure/hooks/data_lake.py   |   3 +-
 .../providers/microsoft/azure/hooks/wasb.py        |   3 +-
 .../azure/operators/container_instances.py         |   8 +-
 .../microsoft/azure/example_adf_run_pipeline.py    |   6 +-
 .../tests/unit/microsoft/azure/hooks/test_wasb.py  |   6 +-
 .../microsoft/azure/operators/test_data_factory.py |  12 +-
 .../microsoft/azure/sensors/test_data_factory.py   |  15 +-
 .../unit/microsoft/azure/sensors/test_wasb.py      |   6 +-
 .../providers/microsoft/mssql/dialects/mssql.py    |   8 +-
 .../odbc/src/airflow/providers/odbc/hooks/odbc.py  |   4 +-
 .../unit/openlineage/extractors/test_manager.py    |   4 +-
 .../qdrant/operators/test_qdrant_ingest.py         |   6 +-
 .../airflow/providers/smtp/notifications/smtp.py   |   2 +-
 .../providers/snowflake/operators/snowflake.py     |   2 +-
 .../unit/snowflake/operators/test_snowflake.py     |   6 +-
 .../airflow/providers/standard/operators/bash.py   |   2 +-
 .../airflow/providers/standard/operators/python.py |   6 +-
 .../providers/standard/sensors/external_task.py    |   3 +-
 .../providers/standard/triggers/external_task.py   |   2 +-
 .../providers/standard/utils/sensor_helper.py      |   2 +-
 .../tests/unit/standard/decorators/test_python.py  |  12 +-
 .../tests/unit/standard/operators/test_datetime.py |   6 +-
 .../teradata/operators/teradata_compute_cluster.py |   2 +-
 .../airflow/providers/weaviate/hooks/weaviate.py   |   8 +-
 .../tests/unit/weaviate/operators/test_weaviate.py |   2 +-
 pyproject.toml                                     |   2 +-
 scripts/ci/pre_commit/breeze_cmd_line.py           |   3 +-
 scripts/ci/pre_commit/check_deprecations.py        |   3 +-
 scripts/ci/pre_commit/sort_in_the_wild.py          |   4 +-
 scripts/ci/pre_commit/update_example_dags_paths.py |   2 +-
 scripts/ci/testing/summarize_junit_failures.py     |   4 +-
 .../in_container/install_airflow_and_providers.py  |   6 +-
 .../install_development_dependencies.py            |  13 +-
 scripts/in_container/run_generate_constraints.py   |  12 +-
 .../in_container/run_provider_yaml_files_check.py  |   2 +-
 scripts/tools/generate-integrations-json.py        |   2 +-
 task-sdk/src/airflow/sdk/bases/operator.py         |   6 +-
 task-sdk/src/airflow/sdk/definitions/dag.py        |   4 +-
 .../airflow/sdk/execution_time/callback_runner.py  |   2 +-
 task-sdk/src/airflow/sdk/execution_time/context.py |   3 +-
 .../src/airflow/sdk/execution_time/supervisor.py   |   2 +-
 task-sdk/tests/conftest.py                         |   6 +-
 task-sdk/tests/task_sdk/definitions/test_asset.py  |  12 +-
 .../task_sdk/definitions/test_secrets_masker.py    |   2 +-
 262 files changed, 952 insertions(+), 1084 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 5e5ddb70c59..02f934f4995 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -167,7 +167,7 @@ repos:
         name: Check imports in providers
         entry: ./scripts/ci/pre_commit/check_imports_in_providers.py
         language: python
-        additional_dependencies: ['rich>=12.4.4', "ruff==0.8.1"]
+        additional_dependencies: ['rich>=12.4.4', "ruff==0.11.2"]
         files: ^providers/.*/src/airflow/providers/.*\.py$
         require_serial: true
       - id: update-black-version
@@ -363,7 +363,7 @@ repos:
         types_or: [python, pyi]
         args: [--fix]
         require_serial: true
-        additional_dependencies: ["ruff==0.8.1"]
+        additional_dependencies: ["ruff==0.11.2"]
         exclude: ^airflow-core/tests/unit/dags/test_imports.py|^performance/tests/test_.*.py
       - id: ruff-format
         name: Run 'ruff format'
@@ -373,7 +373,7 @@ repos:
         types_or: [python, pyi]
         args: []
         require_serial: true
-        additional_dependencies: ["ruff==0.8.1"]
+        additional_dependencies: ["ruff==0.11.2"]
         exclude: ^airflow-core/tests/unit/dags/test_imports.py$
       - id: replace-bad-characters
         name: Replace bad characters
diff --git a/airflow-core/src/airflow/api_fastapi/app.py b/airflow-core/src/airflow/api_fastapi/app.py
index 218664f6372..4ef7ab65113 100644
--- a/airflow-core/src/airflow/api_fastapi/app.py
+++ b/airflow-core/src/airflow/api_fastapi/app.py
@@ -123,8 +123,7 @@ def get_auth_manager_cls() -> type[BaseAuthManager]:
 
     if not auth_manager_cls:
         raise AirflowConfigException(
-            "No auth manager defined in the config. "
-            "Please specify one using section/key [core/auth_manager]."
+            "No auth manager defined in the config. Please specify one using section/key [core/auth_manager]."
         )
 
     return auth_manager_cls
diff --git a/airflow-core/src/airflow/api_fastapi/core_api/app.py b/airflow-core/src/airflow/api_fastapi/core_api/app.py
index 0757d1a2851..9e62aaeae36 100644
--- a/airflow-core/src/airflow/api_fastapi/core_api/app.py
+++ b/airflow-core/src/airflow/api_fastapi/core_api/app.py
@@ -92,7 +92,7 @@ def init_plugins(app: FastAPI) -> None:
     plugins_manager.initialize_fastapi_plugins()
 
     # After calling initialize_fastapi_plugins, fastapi_apps cannot be None anymore.
-    for subapp_dict in cast(list, plugins_manager.fastapi_apps):
+    for subapp_dict in cast("list", plugins_manager.fastapi_apps):
         name = subapp_dict.get("name")
         subapp = subapp_dict.get("app")
         if subapp is None:
diff --git a/airflow-core/src/airflow/api_fastapi/core_api/routes/public/dag_report.py b/airflow-core/src/airflow/api_fastapi/core_api/routes/public/dag_report.py
index 7c7163ac35b..42539015b53 100644
--- a/airflow-core/src/airflow/api_fastapi/core_api/routes/public/dag_report.py
+++ b/airflow-core/src/airflow/api_fastapi/core_api/routes/public/dag_report.py
@@ -70,6 +70,6 @@ def get_dag_reports(
         filtered_dagbag_stats = []
 
     return DagReportCollectionResponse(
-        dag_reports=cast(list[DagReportResponse], filtered_dagbag_stats),
+        dag_reports=cast("list[DagReportResponse]", filtered_dagbag_stats),
         total_entries=len(filtered_dagbag_stats),
     )
diff --git a/airflow-core/src/airflow/api_fastapi/core_api/routes/public/dag_run.py b/airflow-core/src/airflow/api_fastapi/core_api/routes/public/dag_run.py
index 6534d80551f..20e4d5941ce 100644
--- a/airflow-core/src/airflow/api_fastapi/core_api/routes/public/dag_run.py
+++ b/airflow-core/src/airflow/api_fastapi/core_api/routes/public/dag_run.py
@@ -272,7 +272,7 @@ def clear_dag_run(
         )
 
         return TaskInstanceCollectionResponse(
-            task_instances=cast(list[TaskInstanceResponse], task_instances),
+            task_instances=cast("list[TaskInstanceResponse]", task_instances),
             total_entries=len(task_instances),
         )
     else:
diff --git a/airflow-core/src/airflow/api_fastapi/core_api/routes/public/plugins.py b/airflow-core/src/airflow/api_fastapi/core_api/routes/public/plugins.py
index d8ba1026396..04ca85be433 100644
--- a/airflow-core/src/airflow/api_fastapi/core_api/routes/public/plugins.py
+++ b/airflow-core/src/airflow/api_fastapi/core_api/routes/public/plugins.py
@@ -41,6 +41,6 @@ def get_plugins(
 ) -> PluginCollectionResponse:
     plugins_info = sorted(get_plugin_info(), key=lambda x: x["name"])
     return PluginCollectionResponse(
-        plugins=cast(list[PluginResponse], plugins_info[offset.value :][: limit.value]),
+        plugins=cast("list[PluginResponse]", plugins_info[offset.value :][: limit.value]),
         total_entries=len(plugins_info),
     )
diff --git a/airflow-core/src/airflow/api_fastapi/core_api/routes/public/task_instances.py b/airflow-core/src/airflow/api_fastapi/core_api/routes/public/task_instances.py
index 3e9cbc4d795..5defd2b08ff 100644
--- a/airflow-core/src/airflow/api_fastapi/core_api/routes/public/task_instances.py
+++ b/airflow-core/src/airflow/api_fastapi/core_api/routes/public/task_instances.py
@@ -307,7 +307,7 @@ def get_task_instance_tries(
             f"The Task Instance with dag_id: `{dag_id}`, run_id: `{dag_run_id}`, task_id: `{task_id}` and map_index: `{map_index}` was not found",
         )
     return TaskInstanceHistoryCollectionResponse(
-        task_instances=cast(list[TaskInstanceHistoryResponse], task_instances),
+        task_instances=cast("list[TaskInstanceHistoryResponse]", task_instances),
         total_entries=len(task_instances),
     )
 
diff --git a/airflow-core/src/airflow/api_fastapi/core_api/routes/public/tasks.py b/airflow-core/src/airflow/api_fastapi/core_api/routes/public/tasks.py
index 041e9a18de5..6cd46c4e67b 100644
--- a/airflow-core/src/airflow/api_fastapi/core_api/routes/public/tasks.py
+++ b/airflow-core/src/airflow/api_fastapi/core_api/routes/public/tasks.py
@@ -57,7 +57,7 @@ def get_tasks(
     except AttributeError as err:
         raise HTTPException(status.HTTP_400_BAD_REQUEST, str(err))
     return TaskCollectionResponse(
-        tasks=cast(list[TaskResponse], tasks),
+        tasks=cast("list[TaskResponse]", tasks),
         total_entries=len(tasks),
     )
 
@@ -81,4 +81,4 @@ def get_task(dag_id: str, task_id, request: Request) -> TaskResponse:
         task = dag.get_task(task_id=task_id)
     except TaskNotFound:
         raise HTTPException(status.HTTP_404_NOT_FOUND, f"Task with id {task_id} was not found")
-    return cast(TaskResponse, task)
+    return cast("TaskResponse", task)
diff --git a/airflow-core/src/airflow/api_fastapi/core_api/routes/ui/auth.py b/airflow-core/src/airflow/api_fastapi/core_api/routes/ui/auth.py
index ec8ce49bb57..b93d9455d6a 100644
--- a/airflow-core/src/airflow/api_fastapi/core_api/routes/ui/auth.py
+++ b/airflow-core/src/airflow/api_fastapi/core_api/routes/ui/auth.py
@@ -34,6 +34,6 @@ def get_auth_links(
     menu_items = get_auth_manager().get_extra_menu_items(user=user)
 
     return MenuItemCollectionResponse(
-        menu_items=cast(list[MenuItem], menu_items),
+        menu_items=cast("list[MenuItem]", menu_items),
         total_entries=len(menu_items),
     )
diff --git a/airflow-core/src/airflow/api_fastapi/core_api/services/ui/connections.py b/airflow-core/src/airflow/api_fastapi/core_api/services/ui/connections.py
index 482b3a6b5cb..bb0821b58c8 100644
--- a/airflow-core/src/airflow/api_fastapi/core_api/services/ui/connections.py
+++ b/airflow-core/src/airflow/api_fastapi/core_api/services/ui/connections.py
@@ -114,9 +114,9 @@ class HookMetaService:
         """Mock any flask appbuilder widget."""
 
     @staticmethod
-    def _get_hooks_with_mocked_fab() -> (
-        tuple[MutableMapping[str, HookInfo | None], dict[str, ConnectionFormWidgetInfo], dict[str, dict]]
-    ):
+    def _get_hooks_with_mocked_fab() -> tuple[
+        MutableMapping[str, HookInfo | None], dict[str, ConnectionFormWidgetInfo], dict[str, dict]
+    ]:
         """Get hooks with all details w/o FAB needing to be installed."""
         from unittest import mock
 
diff --git a/airflow-core/src/airflow/cli/commands/task_command.py b/airflow-core/src/airflow/cli/commands/task_command.py
index 0cd092626bb..1d64b084664 100644
--- a/airflow-core/src/airflow/cli/commands/task_command.py
+++ b/airflow-core/src/airflow/cli/commands/task_command.py
@@ -299,7 +299,7 @@ def _guess_debugger() -> _SupportedDebugger:
     exc: Exception
     for mod_name in SUPPORTED_DEBUGGER_MODULES:
         try:
-            return cast(_SupportedDebugger, importlib.import_module(mod_name))
+            return cast("_SupportedDebugger", importlib.import_module(mod_name))
         except ImportError as e:
             exc = e
     raise exc
diff --git a/airflow-core/src/airflow/cli/commands/variable_command.py b/airflow-core/src/airflow/cli/commands/variable_command.py
index 5be10421830..ca78a982bde 100644
--- a/airflow-core/src/airflow/cli/commands/variable_command.py
+++ b/airflow-core/src/airflow/cli/commands/variable_command.py
@@ -114,8 +114,7 @@ def variables_import(args, session):
         print(f"{fail_count} variable(s) failed to be updated.")
     if skipped:
         print(
-            f"The variables with these keys: {list(sorted(skipped))} "
-            f"were skipped because they already exists"
+            f"The variables with these keys: {list(sorted(skipped))} were skipped because they already exists"
         )
 
 
diff --git a/airflow-core/src/airflow/dag_processing/collection.py b/airflow-core/src/airflow/dag_processing/collection.py
index 23fa1dea6ae..7edc10d470b 100644
--- a/airflow-core/src/airflow/dag_processing/collection.py
+++ b/airflow-core/src/airflow/dag_processing/collection.py
@@ -51,7 +51,6 @@ from airflow.models.dagwarning import DagWarningType
 from airflow.models.errors import ParseImportError
 from airflow.models.trigger import Trigger
 from airflow.sdk.definitions.asset import Asset, AssetAlias, AssetNameRef, AssetUriRef
-from airflow.serialization.serialized_objects import SerializedAssetWatcher
 from airflow.triggers.base import BaseEventTrigger
 from airflow.utils.retries import MAX_DB_RETRIES, run_with_db_retries
 from airflow.utils.sqlalchemy import with_row_locks
@@ -65,7 +64,7 @@ if TYPE_CHECKING:
     from sqlalchemy.sql import Select
 
     from airflow.models.dagwarning import DagWarning
-    from airflow.serialization.serialized_objects import MaybeSerializedDAG
+    from airflow.serialization.serialized_objects import MaybeSerializedDAG, SerializedAssetWatcher
     from airflow.typing_compat import Self
 
 log = logging.getLogger(__name__)
@@ -799,7 +798,7 @@ class AssetModelOperation(NamedTuple):
         for name_uri, asset in self.assets.items():
             # If the asset belong to a DAG not active or paused, consider there is no watcher associated to it
             asset_watchers: list[SerializedAssetWatcher] = (
-                [cast(SerializedAssetWatcher, watcher) for watcher in asset.watchers]
+                [cast("SerializedAssetWatcher", watcher) for watcher in asset.watchers]
                 if name_uri in active_assets
                 else []
             )
diff --git a/airflow-core/src/airflow/dag_processing/manager.py b/airflow-core/src/airflow/dag_processing/manager.py
index 6b84eb442d1..0f5c521df12 100644
--- a/airflow-core/src/airflow/dag_processing/manager.py
+++ b/airflow-core/src/airflow/dag_processing/manager.py
@@ -870,7 +870,7 @@ class DagFileProcessorManager(LoggingMixin):
         return DagFileProcessorProcess.start(
             id=id,
             path=dag_file.absolute_path,
-            bundle_path=cast(Path, dag_file.bundle_path),
+            bundle_path=cast("Path", dag_file.bundle_path),
             callbacks=callback_to_execute_for_file,
             selector=self.selector,
             logger=logger,
diff --git a/airflow-core/src/airflow/decorators/base.py b/airflow-core/src/airflow/decorators/base.py
index c93f9fc2716..d5aaba420ac 100644
--- a/airflow-core/src/airflow/decorators/base.py
+++ b/airflow-core/src/airflow/decorators/base.py
@@ -492,7 +492,7 @@ class _TaskDecorator(ExpandableFactory, Generic[FParams, FReturn, OperatorSubcla
         partial_kwargs.setdefault("op_kwargs", {})
 
         # Mypy does not work well with a subclassed attrs class :(
-        _MappedOperator = cast(Any, DecoratedMappedOperator)
+        _MappedOperator = cast("Any", DecoratedMappedOperator)
 
         try:
             operator_name = self.operator_class.custom_operator_name  # type: ignore
@@ -665,7 +665,7 @@ def task_decorator_factory(
     it's instantiated.
     """
     if multiple_outputs is None:
-        multiple_outputs = cast(bool, attr.NOTHING)
+        multiple_outputs = cast("bool", attr.NOTHING)
     if python_callable:
         decorator = _TaskDecorator(
             function=python_callable,
@@ -673,7 +673,7 @@ def task_decorator_factory(
             operator_class=decorated_operator_class,
             kwargs=kwargs,
         )
-        return cast(TaskDecorator, decorator)
+        return cast("TaskDecorator", decorator)
     elif python_callable is not None:
         raise TypeError("No args allowed while using @task, use kwargs instead")
 
@@ -685,4 +685,4 @@ def task_decorator_factory(
             kwargs=kwargs,
         )
 
-    return cast(TaskDecorator, decorator_factory)
+    return cast("TaskDecorator", decorator_factory)
diff --git a/airflow-core/src/airflow/example_dags/example_params_ui_tutorial.py b/airflow-core/src/airflow/example_dags/example_params_ui_tutorial.py
index 0b7d27ad75e..25aac4e1374 100644
--- a/airflow-core/src/airflow/example_dags/example_params_ui_tutorial.py
+++ b/airflow-core/src/airflow/example_dags/example_params_ui_tutorial.py
@@ -31,219 +31,217 @@ from airflow.decorators import task
 from airflow.models.dag import DAG
 from airflow.sdk import Param
 
-with (
-    DAG(
-        dag_id=Path(__file__).stem,
-        dag_display_name="Params UI tutorial",
-        description=__doc__.partition(".")[0],
-        doc_md=__doc__,
-        schedule=None,
-        start_date=datetime.datetime(2022, 3, 4),
-        catchup=False,
-        tags=["example", "params", "ui"],
-        # [START section_1]
-        params={
-            # Let's start simple: Standard dict values are detected from type and offered as entry form fields.
-            # Detected types are numbers, text, boolean, lists and dicts.
-            # Note that such auto-detected parameters are treated as optional (not required to contain a value)
-            "number_param": 3,
-            "text_param": "Hello World!",
-            "bool_param": False,
-            "list_param": ["one", "two", "three", "actually one value is made per line"],
-            "dict_param": {"key": "value"},
-            # You can arrange the entry fields in sections so that you can have a better overview for the user
-            # Therefore you can add the "section" attribute.
-            # But of course you might want to have it nicer! Let's add some description to parameters.
-            # Note if you can add any Markdown formatting to the description, you need to use the description_md
-            # attribute.
-            "most_loved_number": Param(
-                42,
-                type="integer",
-                title="Your favorite number",
-                description_md="Everybody should have a **favorite** number. Not only _math teachers_. "
-                "If you can not think of any at the moment please think of the 42 which is very famous because"
-                "of the book [The Hitchhiker's Guide to the Galaxy]"
-                "(https://en.wikipedia.org/wiki/Phrases_from_The_Hitchhiker%27s_Guide_to_the_Galaxy#"
-                "The_Answer_to_the_Ultimate_Question_of_Life,_the_Universe,_and_Everything_is_42).",
-                minimum=0,
-                maximum=128,
-                section="Typed parameters with Param object",
-            ),
-            # If you want to have a selection list box then you can use the enum feature of JSON schema
-            "pick_one": Param(
-                "value 42",
-                type="string",
-                title="Select one Value",
-                description="You can use JSON schema enum's to generate drop down selection boxes.",
-                enum=[f"value {i}" for i in range(16, 64)],
-                section="Typed parameters with Param object",
-            ),
-            # [END section_1]
-            # Boolean as proper parameter with description
-            "bool": Param(
-                True,
-                type="boolean",
-                title="Please confirm",
-                description="An On/Off selection with a proper description.",
-                section="Typed parameters with Param object",
-            ),
-            # Dates and Times are also supported
-            "date_time": Param(
-                f"{datetime.date.today()}T{datetime.time(hour=12, minute=17, second=00)}+00:00",
-                type="string",
-                format="date-time",
-                title="Date-Time Picker",
-                description="Please select a date and time, use the button on the left for a pop-up calendar.",
-                section="Typed parameters with Param object",
-            ),
-            "date": Param(
-                f"{datetime.date.today()}",
-                type="string",
-                format="date",
-                title="Date Picker",
-                description="Please select a date, use the button on the left for a pop-up calendar. "
-                "See that here are no times!",
-                section="Typed parameters with Param object",
-            ),
-            "time": Param(
-                f"{datetime.time(hour=12, minute=13, second=14)}",
-                type=["string", "null"],
-                format="time",
-                title="Time Picker",
-                description="Please select a time, use the button on the left for a pop-up tool.",
-                section="Typed parameters with Param object",
-            ),
-            # Fields can be required or not. If the defined fields are typed they are getting required by default
-            # (else they would not pass JSON schema validation) - to make typed fields optional you must
-            # permit the optional "null" type.
-            # You can omit a default value if the DAG is triggered manually
-            # [START section_2]
-            "required_field": Param(
-                # In this example we have no default value
-                # Form will enforce a value supplied by users to be able to trigger
-                type="string",
-                title="Required text field",
-                minLength=10,
-                maxLength=30,
-                description="This field is required. You can not submit without having text in here.",
-                section="Typed parameters with Param object",
-            ),
-            "optional_field": Param(
-                "optional text, you can trigger also w/o text",
-                type=["null", "string"],
-                title="Optional text field",
-                description_md="This field is optional. As field content is JSON schema validated you must "
-                "allow the `null` type.",
-                section="Typed parameters with Param object",
-            ),
-            # [END section_2]
-            # You can also label the selected values via values_display attribute
-            "pick_with_label": Param(
-                3,
-                type="number",
-                title="Select one Number",
-                description="With drop down selections you can also have nice display labels for the values.",
-                enum=[*range(1, 10)],
-                values_display={
-                    1: "One",
-                    2: "Two",
-                    3: "Three",
-                    4: "Four - is like you take three and get one for free!",
-                    5: "Five",
-                    6: "Six",
-                    7: "Seven",
-                    8: "Eight",
-                    9: "Nine",
-                },
-                section="Drop-Downs and selection lists",
-            ),
-            # If you want to have a list box with proposals but not enforcing a fixed list
-            # then you can use the examples feature of JSON schema
-            "proposals": Param(
-                "Alpha",
-                type="string",
-                title="Field with proposals",
-                description="You can use JSON schema examples's to generate drop down selection boxes "
-                "but allow also to enter custom values. Try typing an 'a' and see options.",
-                examples=(
-                    "Alpha,Bravo,Charlie,Delta,Echo,Foxtrot,Golf,Hotel,India,Juliett,Kilo,Lima,Mike,November,Oscar,Papa,"
-                    "Quebec,Romeo,Sierra,Tango,Uniform,Victor,Whiskey,X-ray,Yankee,Zulu"
-                ).split(","),
-                section="Drop-Downs and selection lists",
-            ),
-            # If you want to select multiple items from a fixed list JSON schema does not allow to use enum
-            # In this case the type "array" is being used together with "examples" as pick list
-            "multi_select": Param(
-                ["two", "three"],
-                "Select from the list of options.",
-                type="array",
-                title="Multi Select",
-                examples=["one", "two", "three", "four", "five"],
-                section="Drop-Downs and selection lists",
-            ),
-            # A multiple options selection can also be combined with values_display
-            "multi_select_with_label": Param(
-                ["2", "3"],
-                "Select from the list of options. See that options can have nicer text and still technical values"
-                "are propagated as values during trigger to the DAG.",
-                type="array",
-                title="Multi Select with Labels",
-                examples=["1", "2", "3", "4", "5"],
-                values_display={
-                    "1": "One box of choccolate",
-                    "2": "Two bananas",
-                    "3": "Three apples",
-                    # Note: Value display mapping does not need to be complete
-                },
-                section="Drop-Downs and selection lists",
-            ),
-            # An array of numbers
-            "array_of_numbers": Param(
-                [1, 2, 3],
-                "Only integers are accepted in this array",
-                type="array",
-                title="Array of numbers",
-                items={"type": "number"},
-                section="Special advanced stuff with form fields",
-            ),
-            "multiline_text": Param(
-                "A multiline text Param\nthat will keep the newline\ncharacters in its value.",
-                description="This field allows for multiline text input. The returned value will be a single "
-                "with newline (\\n) characters kept intact.",
-                title="Multiline text",
-                type=["string", "null"],
-                format="multiline",
-                section="Special advanced stuff with form fields",
-            ),
-            # Some further cool stuff as advanced options are also possible
-            # You can have the user entering a dict object as a JSON with validation
-            "object": Param(
-                {"key": "value"},
-                type=["object", "null"],
-                title="JSON entry field",
-                section="Special advanced stuff with form fields",
-            ),
-            "array_of_objects": Param(
-                [{"name": "account_name", "country": "country_name"}],
-                description_md="Array with complex objects and validation rules. "
-                "See [JSON Schema validation options in specs]"
-                "(https://json-schema.org/understanding-json-schema/reference/array.html#items).",
-                type="array",
-                title="JSON array field",
-                items={
-                    "type": "object",
-                    "properties": {"name": {"type": "string"}, "country_name": {"type": "string"}},
-                    "required": ["name"],
-                },
-                section="Special advanced stuff with form fields",
-            ),
-            # If you want to have static parameters which are always passed and not editable by the user
-            # then you can use the JSON schema option of passing constant values. These parameters
-            # will not be displayed but passed to the DAG
-            "hidden_secret_field": Param("constant value", const="constant value"),
-        },
-    ) as dag
-):
+with DAG(
+    dag_id=Path(__file__).stem,
+    dag_display_name="Params UI tutorial",
+    description=__doc__.partition(".")[0],
+    doc_md=__doc__,
+    schedule=None,
+    start_date=datetime.datetime(2022, 3, 4),
+    catchup=False,
+    tags=["example", "params", "ui"],
+    # [START section_1]
+    params={
+        # Let's start simple: Standard dict values are detected from type and offered as entry form fields.
+        # Detected types are numbers, text, boolean, lists and dicts.
+        # Note that such auto-detected parameters are treated as optional (not required to contain a value)
+        "number_param": 3,
+        "text_param": "Hello World!",
+        "bool_param": False,
+        "list_param": ["one", "two", "three", "actually one value is made per line"],
+        "dict_param": {"key": "value"},
+        # You can arrange the entry fields in sections so that you can have a better overview for the user
+        # Therefore you can add the "section" attribute.
+        # But of course you might want to have it nicer! Let's add some description to parameters.
+        # Note if you can add any Markdown formatting to the description, you need to use the description_md
+        # attribute.
+        "most_loved_number": Param(
+            42,
+            type="integer",
+            title="Your favorite number",
+            description_md="Everybody should have a **favorite** number. Not only _math teachers_. "
+            "If you can not think of any at the moment please think of the 42 which is very famous because"
+            "of the book [The Hitchhiker's Guide to the Galaxy]"
+            "(https://en.wikipedia.org/wiki/Phrases_from_The_Hitchhiker%27s_Guide_to_the_Galaxy#"
+            "The_Answer_to_the_Ultimate_Question_of_Life,_the_Universe,_and_Everything_is_42).",
+            minimum=0,
+            maximum=128,
+            section="Typed parameters with Param object",
+        ),
+        # If you want to have a selection list box then you can use the enum feature of JSON schema
+        "pick_one": Param(
+            "value 42",
+            type="string",
+            title="Select one Value",
+            description="You can use JSON schema enum's to generate drop down selection boxes.",
+            enum=[f"value {i}" for i in range(16, 64)],
+            section="Typed parameters with Param object",
+        ),
+        # [END section_1]
+        # Boolean as proper parameter with description
+        "bool": Param(
+            True,
+            type="boolean",
+            title="Please confirm",
+            description="An On/Off selection with a proper description.",
+            section="Typed parameters with Param object",
+        ),
+        # Dates and Times are also supported
+        "date_time": Param(
+            f"{datetime.date.today()}T{datetime.time(hour=12, minute=17, second=00)}+00:00",
+            type="string",
+            format="date-time",
+            title="Date-Time Picker",
+            description="Please select a date and time, use the button on the left for a pop-up calendar.",
+            section="Typed parameters with Param object",
+        ),
+        "date": Param(
+            f"{datetime.date.today()}",
+            type="string",
+            format="date",
+            title="Date Picker",
+            description="Please select a date, use the button on the left for a pop-up calendar. "
+            "See that here are no times!",
+            section="Typed parameters with Param object",
+        ),
+        "time": Param(
+            f"{datetime.time(hour=12, minute=13, second=14)}",
+            type=["string", "null"],
+            format="time",
+            title="Time Picker",
+            description="Please select a time, use the button on the left for a pop-up tool.",
+            section="Typed parameters with Param object",
+        ),
+        # Fields can be required or not. If the defined fields are typed they are getting required by default
+        # (else they would not pass JSON schema validation) - to make typed fields optional you must
+        # permit the optional "null" type.
+        # You can omit a default value if the DAG is triggered manually
+        # [START section_2]
+        "required_field": Param(
+            # In this example we have no default value
+            # Form will enforce a value supplied by users to be able to trigger
+            type="string",
+            title="Required text field",
+            minLength=10,
+            maxLength=30,
+            description="This field is required. You can not submit without having text in here.",
+            section="Typed parameters with Param object",
+        ),
+        "optional_field": Param(
+            "optional text, you can trigger also w/o text",
+            type=["null", "string"],
+            title="Optional text field",
+            description_md="This field is optional. As field content is JSON schema validated you must "
+            "allow the `null` type.",
+            section="Typed parameters with Param object",
+        ),
+        # [END section_2]
+        # You can also label the selected values via values_display attribute
+        "pick_with_label": Param(
+            3,
+            type="number",
+            title="Select one Number",
+            description="With drop down selections you can also have nice display labels for the values.",
+            enum=[*range(1, 10)],
+            values_display={
+                1: "One",
+                2: "Two",
+                3: "Three",
+                4: "Four - is like you take three and get one for free!",
+                5: "Five",
+                6: "Six",
+                7: "Seven",
+                8: "Eight",
+                9: "Nine",
+            },
+            section="Drop-Downs and selection lists",
+        ),
+        # If you want to have a list box with proposals but not enforcing a fixed list
+        # then you can use the examples feature of JSON schema
+        "proposals": Param(
+            "Alpha",
+            type="string",
+            title="Field with proposals",
+            description="You can use JSON schema examples's to generate drop down selection boxes "
+            "but allow also to enter custom values. Try typing an 'a' and see options.",
+            examples=(
+                "Alpha,Bravo,Charlie,Delta,Echo,Foxtrot,Golf,Hotel,India,Juliett,Kilo,Lima,Mike,November,Oscar,Papa,"
+                "Quebec,Romeo,Sierra,Tango,Uniform,Victor,Whiskey,X-ray,Yankee,Zulu"
+            ).split(","),
+            section="Drop-Downs and selection lists",
+        ),
+        # If you want to select multiple items from a fixed list JSON schema does not allow to use enum
+        # In this case the type "array" is being used together with "examples" as pick list
+        "multi_select": Param(
+            ["two", "three"],
+            "Select from the list of options.",
+            type="array",
+            title="Multi Select",
+            examples=["one", "two", "three", "four", "five"],
+            section="Drop-Downs and selection lists",
+        ),
+        # A multiple options selection can also be combined with values_display
+        "multi_select_with_label": Param(
+            ["2", "3"],
+            "Select from the list of options. See that options can have nicer text and still technical values"
+            "are propagated as values during trigger to the DAG.",
+            type="array",
+            title="Multi Select with Labels",
+            examples=["1", "2", "3", "4", "5"],
+            values_display={
+                "1": "One box of choccolate",
+                "2": "Two bananas",
+                "3": "Three apples",
+                # Note: Value display mapping does not need to be complete
+            },
+            section="Drop-Downs and selection lists",
+        ),
+        # An array of numbers
+        "array_of_numbers": Param(
+            [1, 2, 3],
+            "Only integers are accepted in this array",
+            type="array",
+            title="Array of numbers",
+            items={"type": "number"},
+            section="Special advanced stuff with form fields",
+        ),
+        "multiline_text": Param(
+            "A multiline text Param\nthat will keep the newline\ncharacters in its value.",
+            description="This field allows for multiline text input. The returned value will be a single "
+            "with newline (\\n) characters kept intact.",
+            title="Multiline text",
+            type=["string", "null"],
+            format="multiline",
+            section="Special advanced stuff with form fields",
+        ),
+        # Some further cool stuff as advanced options are also possible
+        # You can have the user entering a dict object as a JSON with validation
+        "object": Param(
+            {"key": "value"},
+            type=["object", "null"],
+            title="JSON entry field",
+            section="Special advanced stuff with form fields",
+        ),
+        "array_of_objects": Param(
+            [{"name": "account_name", "country": "country_name"}],
+            description_md="Array with complex objects and validation rules. "
+            "See [JSON Schema validation options in specs]"
+            "(https://json-schema.org/understanding-json-schema/reference/array.html#items).",
+            type="array",
+            title="JSON array field",
+            items={
+                "type": "object",
+                "properties": {"name": {"type": "string"}, "country_name": {"type": "string"}},
+                "required": ["name"],
+            },
+            section="Special advanced stuff with form fields",
+        ),
+        # If you want to have static parameters which are always passed and not editable by the user
+        # then you can use the JSON schema option of passing constant values. These parameters
+        # will not be displayed but passed to the DAG
+        "hidden_secret_field": Param("constant value", const="constant value"),
+    },
+) as dag:
     # [START section_3]
     @task(task_display_name="Show used parameters")
     def show_params(**kwargs) -> None:
diff --git a/airflow-core/src/airflow/executors/executor_utils.py b/airflow-core/src/airflow/executors/executor_utils.py
index 4d34a414488..11934970edb 100644
--- a/airflow-core/src/airflow/executors/executor_utils.py
+++ b/airflow-core/src/airflow/executors/executor_utils.py
@@ -41,11 +41,7 @@ class ExecutorName(LoggingMixin):
         if self.alias in CORE_EXECUTOR_NAMES:
             # This is a "core executor" we can refer to it by its known short name
             return f"{self.team_id if self.team_id else ''}:{self.alias}:"
-        return (
-            f"{self.team_id if self.team_id else ''}:"
-            f"{self.alias if self.alias else ''}:"
-            f"{self.module_path}"
-        )
+        return f"{self.team_id if self.team_id else ''}:{self.alias if self.alias else ''}:{self.module_path}"
 
     def __eq__(self, other) -> bool:
         """Implement eq."""
diff --git a/airflow-core/src/airflow/io/__init__.py b/airflow-core/src/airflow/io/__init__.py
index 7ae083ab451..01e0cfaabe2 100644
--- a/airflow-core/src/airflow/io/__init__.py
+++ b/airflow-core/src/airflow/io/__init__.py
@@ -52,12 +52,10 @@ _BUILTIN_SCHEME_TO_FS: dict[str, Callable[[str | None, Properties], AbstractFile
 
 
 @cache
-def _register_filesystems() -> (
-    Mapping[
-        str,
-        Callable[[str | None, Properties], AbstractFileSystem] | Callable[[str | None], AbstractFileSystem],
-    ]
-):
+def _register_filesystems() -> Mapping[
+    str,
+    Callable[[str | None, Properties], AbstractFileSystem] | Callable[[str | None], AbstractFileSystem],
+]:
     scheme_to_fs = _BUILTIN_SCHEME_TO_FS.copy()
     with Stats.timer("airflow.io.load_filesystems") as timer:
         manager = ProvidersManager()
diff --git a/airflow-core/src/airflow/lineage/__init__.py b/airflow-core/src/airflow/lineage/__init__.py
index 8e581952e69..2fedfbd57a9 100644
--- a/airflow-core/src/airflow/lineage/__init__.py
+++ b/airflow-core/src/airflow/lineage/__init__.py
@@ -92,7 +92,7 @@ def apply_lineage(func: T) -> T:
 
         return ret_val
 
-    return cast(T, wrapper)
+    return cast("T", wrapper)
 
 
 def prepare_lineage(func: T) -> T:
@@ -155,4 +155,4 @@ def prepare_lineage(func: T) -> T:
 
         return func(self, context, *args, **kwargs)
 
-    return cast(T, wrapper)
+    return cast("T", wrapper)
diff --git a/airflow-core/src/airflow/metrics/statsd_logger.py b/airflow-core/src/airflow/metrics/statsd_logger.py
index eca62caaf54..a4babe009d5 100644
--- a/airflow-core/src/airflow/metrics/statsd_logger.py
+++ b/airflow-core/src/airflow/metrics/statsd_logger.py
@@ -61,7 +61,7 @@ def prepare_stat_with_tags(fn: T) -> T:
                             log.error("Dropping invalid tag: %s=%s.", k, v)
         return fn(self, stat, *args, tags=tags, **kwargs)
 
-    return cast(T, wrapper)
+    return cast("T", wrapper)
 
 
 class SafeStatsdLogger:
diff --git a/airflow-core/src/airflow/metrics/validators.py b/airflow-core/src/airflow/metrics/validators.py
index 95d038e8044..bbbfdfdc66d 100644
--- a/airflow-core/src/airflow/metrics/validators.py
+++ b/airflow-core/src/airflow/metrics/validators.py
@@ -125,7 +125,7 @@ def validate_stat(fn: Callable) -> Callable:
             log.exception("Invalid stat name: %s.", stat)
             return None
 
-    return cast(Callable, wrapper)
+    return cast("Callable", wrapper)
 
 
 def stat_name_otel_handler(
diff --git a/airflow-core/src/airflow/models/dag.py b/airflow-core/src/airflow/models/dag.py
index 7261c48dee0..8ca0f338330 100644
--- a/airflow-core/src/airflow/models/dag.py
+++ b/airflow-core/src/airflow/models/dag.py
@@ -552,9 +552,9 @@ class DAG(TaskSDKDag, LoggingMixin):
             return DataInterval.exact(timezone.coerce_datetime(logical_date))
         start = timezone.coerce_datetime(logical_date)
         if issubclass(timetable_type, CronDataIntervalTimetable):
-            end = cast(CronDataIntervalTimetable, self.timetable)._get_next(start)
+            end = cast("CronDataIntervalTimetable", self.timetable)._get_next(start)
         elif issubclass(timetable_type, DeltaDataIntervalTimetable):
-            end = cast(DeltaDataIntervalTimetable, self.timetable)._get_next(start)
+            end = cast("DeltaDataIntervalTimetable", self.timetable)._get_next(start)
         # Contributors: When the exception below is raised, you might want to
         # add an 'elif' block here to handle custom timetables. Stop! The bug
         # you're looking for is instead at when the DAG run (represented by
@@ -966,7 +966,7 @@ class DAG(TaskSDKDag, LoggingMixin):
             exclude_run_ids=None,
             session=session,
         )
-        return session.scalars(cast(Select, query).order_by(DagRun.logical_date)).all()
+        return session.scalars(cast("Select", query).order_by(DagRun.logical_date)).all()
 
     @overload
     def _get_task_instances(
@@ -1096,7 +1096,7 @@ class DAG(TaskSDKDag, LoggingMixin):
 
                 visited_external_tis.add(ti_key)
 
-                task: ExternalTaskMarker = cast(ExternalTaskMarker, copy.copy(self.get_task(ti.task_id)))
+                task: ExternalTaskMarker = cast("ExternalTaskMarker", copy.copy(self.get_task(ti.task_id)))
                 ti.task = task
 
                 if max_recursion_depth is None:
diff --git a/airflow-core/src/airflow/models/xcom.py b/airflow-core/src/airflow/models/xcom.py
index 09bfcff7b02..f828d9b9343 100644
--- a/airflow-core/src/airflow/models/xcom.py
+++ b/airflow-core/src/airflow/models/xcom.py
@@ -228,7 +228,7 @@ class XComModel(TaskInstanceDependencies):
             )
         )
 
-        new = cast(Any, cls)(  # Work around Mypy complaining model not defining '__init__'.
+        new = cast("Any", cls)(  # Work around Mypy complaining model not defining '__init__'.
             dag_run_id=dag_run_id,
             key=key,
             value=value,
diff --git a/airflow-core/src/airflow/policies.py b/airflow-core/src/airflow/policies.py
index e0c48931a28..6e995733ca0 100644
--- a/airflow-core/src/airflow/policies.py
+++ b/airflow-core/src/airflow/policies.py
@@ -173,7 +173,7 @@ def make_plugin_from_local_settings(pm: pluggy.PluginManager, module, names: set
         codestr = textwrap.dedent(
             f"""
             def {name}_name_mismatch_shim{desired_sig}:
-                return __target({' ,'.join(desired_sig.parameters)})
+                return __target({" ,".join(desired_sig.parameters)})
             """
         )
         code = compile(codestr, "<policy-shim>", "single")
diff --git a/airflow-core/src/airflow/serialization/helpers.py b/airflow-core/src/airflow/serialization/helpers.py
index 6cea9e13415..5993dfaaf26 100644
--- a/airflow-core/src/airflow/serialization/helpers.py
+++ b/airflow-core/src/airflow/serialization/helpers.py
@@ -67,7 +67,7 @@ def serialize_template_field(template_field: Any, name: str) -> str | dict | lis
             rendered = redact(serialized, name)
             return (
                 "Truncated. You can change this behaviour in [core]max_templated_field_length. "
-                f"{rendered[:max_length - 79]!r}... "
+                f"{rendered[: max_length - 79]!r}... "
             )
         return serialized
     else:
@@ -79,6 +79,6 @@ def serialize_template_field(template_field: Any, name: str) -> str | dict | lis
             rendered = redact(serialized, name)
             return (
                 "Truncated. You can change this behaviour in [core]max_templated_field_length. "
-                f"{rendered[:max_length - 79]!r}... "
+                f"{rendered[: max_length - 79]!r}... "
             )
         return template_field
diff --git a/airflow-core/src/airflow/serialization/serde.py b/airflow-core/src/airflow/serialization/serde.py
index cafd436a28f..7c0c1a0081a 100644
--- a/airflow-core/src/airflow/serialization/serde.py
+++ b/airflow-core/src/airflow/serialization/serde.py
@@ -178,7 +178,7 @@ def serialize(o: object, depth: int = 0) -> U | None:
     # attr annotated
     if attr.has(cls):
         # Only include attributes which we can pass back to the classes constructor
-        data = attr.asdict(cast(attr.AttrsInstance, o), recurse=False, filter=lambda a, v: a.init)
+        data = attr.asdict(cast("attr.AttrsInstance", o), recurse=False, filter=lambda a, v: a.init)
         dct[DATA] = serialize(data, depth + 1)
         return dct
 
diff --git a/airflow-core/src/airflow/serialization/serialized_objects.py b/airflow-core/src/airflow/serialization/serialized_objects.py
index b22bc6523ae..6af066c12d1 100644
--- a/airflow-core/src/airflow/serialization/serialized_objects.py
+++ b/airflow-core/src/airflow/serialization/serialized_objects.py
@@ -338,7 +338,7 @@ def encode_outlet_event_accessor(var: OutletEventAccessor) -> dict[str, Any]:
     return {
         "key": BaseSerialization.serialize(key),
         "extra": var.extra,
-        "asset_alias_events": [attrs.asdict(cast(attrs.AttrsInstance, e)) for e in var.asset_alias_events],
+        "asset_alias_events": [attrs.asdict(cast("attrs.AttrsInstance", e)) for e in var.asset_alias_events],
     }
 
 
@@ -1076,7 +1076,7 @@ class DependencyDetector:
             )
         elif (
             isinstance(task, MappedOperator)
-            and issubclass(cast(type[BaseOperator], task.operator_class), TriggerDagRunOperator)
+            and issubclass(cast("type[BaseOperator]", task.operator_class), TriggerDagRunOperator)
             and "trigger_dag_id" in task.partial_kwargs
         ):
             deps.append(
@@ -1100,7 +1100,7 @@ class DependencyDetector:
             )
         elif (
             isinstance(task, MappedOperator)
-            and issubclass(cast(type[BaseOperator], task.operator_class), ExternalTaskSensor)
+            and issubclass(cast("type[BaseOperator]", task.operator_class), ExternalTaskSensor)
             and "external_dag_id" in task.partial_kwargs
         ):
             deps.append(
@@ -1471,7 +1471,7 @@ class SerializedBaseOperator(BaseOperator, BaseSerialization):
         start_trigger_args = None
         encoded_start_trigger_args = encoded_op.get("start_trigger_args", None)
         if encoded_start_trigger_args:
-            encoded_start_trigger_args = cast(dict, encoded_start_trigger_args)
+            encoded_start_trigger_args = cast("dict", encoded_start_trigger_args)
             start_trigger_args = decode_start_trigger_args(encoded_start_trigger_args)
         setattr(op, "start_trigger_args", start_trigger_args)
         setattr(op, "start_from_trigger", bool(encoded_op.get("start_from_trigger", False)))
diff --git a/airflow-core/src/airflow/serialization/serializers/builtin.py b/airflow-core/src/airflow/serialization/serializers/builtin.py
index 52ecc282ab3..b0ee8cb713d 100644
--- a/airflow-core/src/airflow/serialization/serializers/builtin.py
+++ b/airflow-core/src/airflow/serialization/serializers/builtin.py
@@ -32,7 +32,7 @@ stringifiers = serializers
 
 
 def serialize(o: object) -> tuple[U, str, int, bool]:
-    return list(cast(list, o)), qualname(o), __version__, True
+    return list(cast("list", o)), qualname(o), __version__, True
 
 
 def deserialize(classname: str, version: int, data: list) -> tuple | set | frozenset:
diff --git a/airflow-core/src/airflow/serialization/serializers/timezone.py b/airflow-core/src/airflow/serialization/serializers/timezone.py
index 3d2a29ea08b..53920593143 100644
--- a/airflow-core/src/airflow/serialization/serializers/timezone.py
+++ b/airflow-core/src/airflow/serialization/serializers/timezone.py
@@ -57,11 +57,11 @@ def serialize(o: object) -> tuple[U, str, int, bool]:
             return "UTC", name, __version__, True
         return o.offset, name, __version__, True
 
-    tz_name = _get_tzinfo_name(cast(datetime.tzinfo, o))
+    tz_name = _get_tzinfo_name(cast("datetime.tzinfo", o))
     if tz_name is not None:
         return tz_name, name, __version__, True
 
-    if cast(datetime.tzinfo, o).utcoffset(None) == datetime.timedelta(0):
+    if cast("datetime.tzinfo", o).utcoffset(None) == datetime.timedelta(0):
         return "UTC", qualname(FixedTimezone), __version__, True
 
     return "", "", 0, False
diff --git a/airflow-core/src/airflow/utils/cli.py b/airflow-core/src/airflow/utils/cli.py
index 0815ec0ac07..0114d65e04f 100644
--- a/airflow-core/src/airflow/utils/cli.py
+++ b/airflow-core/src/airflow/utils/cli.py
@@ -116,7 +116,7 @@ def action_cli(func=None, check_db=True):
                 metrics["end_datetime"] = timezone.utcnow()
                 cli_action_loggers.on_post_execution(**metrics)
 
-        return cast(T, wrapper)
+        return cast("T", wrapper)
 
     if func:
         return action_logging(func)
@@ -155,7 +155,7 @@ def _build_metrics(func_name, namespace):
                 # For cases when password is passed as "--password=xyz" (with '=' between key and value)
                 for sensitive_field in sensitive_fields:
                     if command.startswith(f"{sensitive_field}="):
-                        full_command[idx] = f'{sensitive_field}={"*" * 8}'
+                        full_command[idx] = f"{sensitive_field}={'*' * 8}"
 
     # handle conn-json and conn-uri separately as it requires different handling
     if "--conn-json" in full_command:
@@ -401,7 +401,7 @@ def suppress_logs_and_warning(f: T) -> T:
                     # levels of individual loggers
                     logging.disable(logging.NOTSET)
 
-    return cast(T, _wrapper)
+    return cast("T", _wrapper)
 
 
 def validate_dag_bundle_arg(bundle_names: list[str]) -> None:
diff --git a/airflow-core/src/airflow/utils/context.py b/airflow-core/src/airflow/utils/context.py
index e8cfdc499cc..c27032c7c3c 100644
--- a/airflow-core/src/airflow/utils/context.py
+++ b/airflow-core/src/airflow/utils/context.py
@@ -174,4 +174,4 @@ def context_copy_partial(source: Context, keys: Container[str]) -> Context:
     :meta private:
     """
     new = {k: v for k, v in source.items() if k in keys}
-    return cast(Context, new)
+    return cast("Context", new)
diff --git a/airflow-core/src/airflow/utils/helpers.py b/airflow-core/src/airflow/utils/helpers.py
index 1f1bcac4b0e..881379b79f9 100644
--- a/airflow-core/src/airflow/utils/helpers.py
+++ b/airflow-core/src/airflow/utils/helpers.py
@@ -297,12 +297,12 @@ def render_template(template: Any, context: MutableMapping[str, Any], *, native:
 
 def render_template_to_string(template: jinja2.Template, context: Context) -> str:
     """Shorthand to ``render_template(native=False)`` with better typing support."""
-    return render_template(template, cast(MutableMapping[str, Any], context), native=False)
+    return render_template(template, cast("MutableMapping[str, Any]", context), native=False)
 
 
 def render_template_as_native(template: jinja2.Template, context: Context) -> Any:
     """Shorthand to ``render_template(native=True)`` with better typing support."""
-    return render_template(template, cast(MutableMapping[str, Any], context), native=True)
+    return render_template(template, cast("MutableMapping[str, Any]", context), native=True)
 
 
 def exactly_one(*args) -> bool:
diff --git a/airflow-core/src/airflow/utils/log/logging_mixin.py b/airflow-core/src/airflow/utils/log/logging_mixin.py
index d06ba0b7d34..2e22c6999cb 100644
--- a/airflow-core/src/airflow/utils/log/logging_mixin.py
+++ b/airflow-core/src/airflow/utils/log/logging_mixin.py
@@ -295,9 +295,9 @@ def set_context(logger, value):
             # Don't use getatrr so we have type checking. And we don't care if handler is actually a
             # FileTaskHandler, it just needs to have a set_context function!
             if hasattr(handler, "set_context"):
-                from airflow.utils.log.file_task_handler import FileTaskHandler
+                from airflow.utils.log.file_task_handler import FileTaskHandler  # noqa: TC001
 
-                flag = cast(FileTaskHandler, handler).set_context(value)
+                flag = cast("FileTaskHandler", handler).set_context(value)
                 # By default we disable propagate once we have configured the logger, unless that handler
                 # explicitly asks us to keep it on.
                 if flag is not SetContextPropagate.MAINTAIN_PROPAGATE:
diff --git a/airflow-core/src/airflow/utils/session.py b/airflow-core/src/airflow/utils/session.py
index 1ee89933805..52a7cfa8e8b 100644
--- a/airflow-core/src/airflow/utils/session.py
+++ b/airflow-core/src/airflow/utils/session.py
@@ -20,13 +20,14 @@ import contextlib
 from collections.abc import Generator
 from functools import wraps
 from inspect import signature
-from typing import Callable, TypeVar, cast
-
-from sqlalchemy.orm import Session as SASession
+from typing import TYPE_CHECKING, Callable, TypeVar, cast
 
 from airflow import settings
 from airflow.typing_compat import ParamSpec
 
+if TYPE_CHECKING:
+    from sqlalchemy.orm import Session as SASession
+
 
 @contextlib.contextmanager
 def create_session(scoped: bool = True) -> Generator[SASession, None, None]:
@@ -107,4 +108,4 @@ def provide_session(func: Callable[PS, RT]) -> Callable[PS, RT]:
 # the 'session' argument to be of type Session instead of Session | None,
 # making it easier to type hint the function body without dealing with the None
 # case that can never happen at runtime.
-NEW_SESSION: SASession = cast(SASession, None)
+NEW_SESSION: SASession = cast("SASession", None)
diff --git a/airflow-core/src/airflow/utils/setup_teardown.py b/airflow-core/src/airflow/utils/setup_teardown.py
index 32d19d31684..b62e3ab298b 100644
--- a/airflow-core/src/airflow/utils/setup_teardown.py
+++ b/airflow-core/src/airflow/utils/setup_teardown.py
@@ -129,9 +129,7 @@ class BaseSetupTeardownContext:
 
     @classmethod
     def update_context_map(cls, task: DependencyMixin):
-        from airflow.models.abstractoperator import AbstractOperator
-
-        task_ = cast(AbstractOperator, task)
+        task_ = cast("AbstractOperator", task)
         if task_.is_setup or task_.is_teardown:
             return
         ctx = cls.context_map
diff --git a/airflow-core/src/airflow/utils/yaml.py b/airflow-core/src/airflow/utils/yaml.py
index f13f4292022..e1cc4d34005 100644
--- a/airflow-core/src/airflow/utils/yaml.py
+++ b/airflow-core/src/airflow/utils/yaml.py
@@ -59,7 +59,7 @@ def dump(data: Any, **kwargs) -> str:
     except ImportError:
         from yaml import SafeDumper  # type: ignore[assignment, no-redef]
 
-    return cast(str, orig(data, Dumper=SafeDumper, **kwargs))
+    return cast("str", orig(data, Dumper=SafeDumper, **kwargs))
 
 
 def __getattr__(name):
diff --git a/airflow-core/tests/unit/api_fastapi/auth/managers/test_base_auth_manager.py b/airflow-core/tests/unit/api_fastapi/auth/managers/test_base_auth_manager.py
index bd37351fd63..e6b5017c257 100644
--- a/airflow-core/tests/unit/api_fastapi/auth/managers/test_base_auth_manager.py
+++ b/airflow-core/tests/unit/api_fastapi/auth/managers/test_base_auth_manager.py
@@ -383,6 +383,6 @@ def test_auth_managers_have_create_token_endpoint(test_client):
             "/auth/token",
             json={"username": "", "password": ""},
         )
-        assert (
-            response.status_code not in [404, 405]
-        ), f"The auth manager {auth_manager_module} does not provide an endpoint to create a JWT token. This endpoint should be POST /auth/token"
+        assert response.status_code not in [404, 405], (
+            f"The auth manager {auth_manager_module} does not provide an endpoint to create a JWT token. This endpoint should be POST /auth/token"
+        )
diff --git a/airflow-core/tests/unit/api_fastapi/core_api/routes/ui/test_dags.py b/airflow-core/tests/unit/api_fastapi/core_api/routes/ui/test_dags.py
index 6b201023076..a8cf23663c2 100644
--- a/airflow-core/tests/unit/api_fastapi/core_api/routes/ui/test_dags.py
+++ b/airflow-core/tests/unit/api_fastapi/core_api/routes/ui/test_dags.py
@@ -49,7 +49,7 @@ class TestRecentDagRuns(TestPublicDagEndpoint):
                 start_date = datetime(2021 + i, 1, 1, 0, 0, 0, tzinfo=timezone.utc)
                 dag_run = DagRun(
                     dag_id=dag_id,
-                    run_id=f"run_id_{i+1}",
+                    run_id=f"run_id_{i + 1}",
                     run_type=DagRunType.MANUAL,
                     start_date=start_date,
                     logical_date=start_date,
diff --git a/airflow-core/tests/unit/assets/test_evaluation.py b/airflow-core/tests/unit/assets/test_evaluation.py
index 1c8e909eee1..e71635f402d 100644
--- a/airflow-core/tests/unit/assets/test_evaluation.py
+++ b/airflow-core/tests/unit/assets/test_evaluation.py
@@ -104,9 +104,9 @@ def test_asset_logical_conditions_evaluation_and_serialization(evaluator, inputs
     condition = class_(*assets)
 
     statuses = {AssetUniqueKey.from_asset(asset): status for asset, status in zip(assets, inputs)}
-    assert (
-        evaluator.run(condition, statuses) == expected
-    ), f"Condition evaluation failed for inputs {inputs} and scenario '{scenario}'"
+    assert evaluator.run(condition, statuses) == expected, (
+        f"Condition evaluation failed for inputs {inputs} and scenario '{scenario}'"
+    )
 
     # Serialize and deserialize the condition to test persistence
     serialized = BaseSerialization.serialize(condition)
@@ -159,9 +159,9 @@ def test_nested_asset_conditions_with_serialization(evaluator, status_values, ex
     serialized_condition = BaseSerialization.serialize(nested_condition)
     deserialized_condition = BaseSerialization.deserialize(serialized_condition)
 
-    assert (
-        evaluator.run(deserialized_condition, statuses) == expected_evaluation
-    ), "Post-serialization evaluation mismatch"
+    assert evaluator.run(deserialized_condition, statuses) == expected_evaluation, (
+        "Post-serialization evaluation mismatch"
+    )
 
 
 class TestAssetAlias:
diff --git a/airflow-core/tests/unit/cli/commands/test_db_command.py b/airflow-core/tests/unit/cli/commands/test_db_command.py
index bc71b7b1d3d..e6d1b9bd6d9 100644
--- a/airflow-core/tests/unit/cli/commands/test_db_command.py
+++ b/airflow-core/tests/unit/cli/commands/test_db_command.py
@@ -193,8 +193,7 @@ class TestCliDb:
         db_command.shell(self.parser.parse_args(["db", "shell"]))
         mock_execute_interactive.assert_called_once_with(["mysql", "--defaults-extra-file=/tmp/name"])
         mock_tmp_file.return_value.__enter__.return_value.write.assert_called_once_with(
-            b"[client]\nhost     = mysql\nuser     = root\npassword = \nport     = 3306"
-            b"\ndatabase = airflow"
+            b"[client]\nhost     = mysql\nuser     = root\npassword = \nport     = 3306\ndatabase = airflow"
         )
 
     @mock.patch("airflow.cli.commands.db_command.execute_interactive")
@@ -208,8 +207,7 @@ class TestCliDb:
         db_command.shell(self.parser.parse_args(["db", "shell"]))
         mock_execute_interactive.assert_called_once_with(["mysql", "--defaults-extra-file=/tmp/name"])
         mock_tmp_file.return_value.__enter__.return_value.write.assert_called_once_with(
-            b"[client]\nhost     = mysql\nuser     = root\npassword = \nport     = 3306"
-            b"\ndatabase = airflow"
+            b"[client]\nhost     = mysql\nuser     = root\npassword = \nport     = 3306\ndatabase = airflow"
         )
 
     @mock.patch("airflow.cli.commands.db_command.execute_interactive")
diff --git a/airflow-core/tests/unit/cli/commands/test_legacy_commands.py b/airflow-core/tests/unit/cli/commands/test_legacy_commands.py
index f4550146e4e..e4c39b9c68e 100644
--- a/airflow-core/tests/unit/cli/commands/test_legacy_commands.py
+++ b/airflow-core/tests/unit/cli/commands/test_legacy_commands.py
@@ -48,7 +48,6 @@ class TestCliDeprecatedCommandsValue:
         mock_action._prog_prefix = "airflow"
         with pytest.raises(
             ArgumentError,
-            match="argument : Command `airflow webserver` has been removed. "
-            "Please use `airflow api-server`",
+            match="argument : Command `airflow webserver` has been removed. Please use `airflow api-server`",
         ):
             check_legacy_command(mock_action, "webserver")
diff --git a/airflow-core/tests/unit/cli/test_cli_parser.py b/airflow-core/tests/unit/cli/test_cli_parser.py
index 3b748aa2b05..15025354722 100644
--- a/airflow-core/tests/unit/cli/test_cli_parser.py
+++ b/airflow-core/tests/unit/cli/test_cli_parser.py
@@ -103,9 +103,9 @@ class TestCli:
         for group, command in subcommand.items():
             for com in command:
                 conflict_arg = [arg for arg, count in Counter(com.args).items() if count > 1]
-                assert (
-                    conflict_arg == []
-                ), f"Command group {group} function {com.name} have conflict args name {conflict_arg}"
+                assert conflict_arg == [], (
+                    f"Command group {group} function {com.name} have conflict args name {conflict_arg}"
+                )
 
     def test_subcommand_arg_flag_conflict(self):
         """
diff --git a/airflow-core/tests/unit/jobs/test_scheduler_job.py b/airflow-core/tests/unit/jobs/test_scheduler_job.py
index 8c9d5cd6bfe..9e917283cd8 100644
--- a/airflow-core/tests/unit/jobs/test_scheduler_job.py
+++ b/airflow-core/tests/unit/jobs/test_scheduler_job.py
@@ -2819,9 +2819,9 @@ class TestSchedulerJob:
         if ti1s and ti2s:
             recent_ti1 = ti1s[0]
             recent_ti2 = ti2s[0]
-            assert (
-                recent_ti1.logical_date == recent_ti2.logical_date
-            ), "Both tasks should be scheduled for the same interval"
+            assert recent_ti1.logical_date == recent_ti2.logical_date, (
+                "Both tasks should be scheduled for the same interval"
+            )
 
     def test_scheduler_multiprocessing(self):
         """
@@ -5847,9 +5847,9 @@ class TestSchedulerJob:
                 return
             queued_any_tis = any(val > 0 for val in num_queued_tis)
             finished_any_events = any(val > 0 for val in num_finished_events)
-            assert (
-                queued_any_tis or finished_any_events
-            ), "Scheduler has stalled without setting the DagRun state!"
+            assert queued_any_tis or finished_any_events, (
+                "Scheduler has stalled without setting the DagRun state!"
+            )
 
         set_state_spy = mock.patch.object(DagRun, "set_state", new=watch_set_state)
         heartbeat_spy = mock.patch.object(self.job_runner.job, "heartbeat", new=watch_heartbeat)
diff --git a/airflow-core/tests/unit/models/test_dag.py b/airflow-core/tests/unit/models/test_dag.py
index 689996ecbbe..602a899a064 100644
--- a/airflow-core/tests/unit/models/test_dag.py
+++ b/airflow-core/tests/unit/models/test_dag.py
@@ -1166,9 +1166,9 @@ class TestDag:
         assert dag.dag_id == dag_run.dag_id
         assert dag_run.run_id is not None
         assert dag_run.run_id != ""
-        assert (
-            dag_run.logical_date == TEST_DATE
-        ), f"dag_run.logical_date did not match expectation: {dag_run.logical_date}"
+        assert dag_run.logical_date == TEST_DATE, (
+            f"dag_run.logical_date did not match expectation: {dag_run.logical_date}"
+        )
         assert dag_run.state == State.RUNNING
         assert dag_run.run_type != DagRunType.MANUAL
         dag.clear()
diff --git a/airflow-core/tests/unit/models/test_dagbag.py b/airflow-core/tests/unit/models/test_dagbag.py
index 4f52d3019b5..6d659c99c4c 100644
--- a/airflow-core/tests/unit/models/test_dagbag.py
+++ b/airflow-core/tests/unit/models/test_dagbag.py
@@ -514,11 +514,11 @@ class TestDagBag:
         dag_id = expected_dag.dag_id
         actual_dagbag.log.info("validating %s", dag_id)
         assert (dag_id in actual_found_dag_ids) == should_be_found, (
-            f"dag \"{dag_id}\" should {'' if should_be_found else 'not '}"
+            f'dag "{dag_id}" should {"" if should_be_found else "not "}'
             f'have been found after processing dag "{expected_dag.dag_id}"'
         )
         assert (dag_id in actual_dagbag.dags) == should_be_found, (
-            f"dag \"{dag_id}\" should {'' if should_be_found else 'not '}"
+            f'dag "{dag_id}" should {"" if should_be_found else "not "}'
             f'be in dagbag.dags after processing dag "{expected_dag.dag_id}"'
         )
 
diff --git a/airflow-core/tests/unit/models/test_renderedtifields.py b/airflow-core/tests/unit/models/test_renderedtifields.py
index 5a9d5705e4e..8196138e4db 100644
--- a/airflow-core/tests/unit/models/test_renderedtifields.py
+++ b/airflow-core/tests/unit/models/test_renderedtifields.py
@@ -137,12 +137,12 @@ class TestRenderedTaskInstanceFields:
             ),
             pytest.param(
                 "a" * 5000,
-                f"Truncated. You can change this behaviour in [core]max_templated_field_length. {('a'*5000)[:max_length-79]!r}... ",
+                f"Truncated. You can change this behaviour in [core]max_templated_field_length. {('a' * 5000)[: max_length - 79]!r}... ",
                 id="large_string",
             ),
             pytest.param(
                 LargeStrObject(),
-                f"Truncated. You can change this behaviour in [core]max_templated_field_length. {str(LargeStrObject())[:max_length-79]!r}... ",
+                f"Truncated. You can change this behaviour in [core]max_templated_field_length. {str(LargeStrObject())[: max_length - 79]!r}... ",
                 id="large_object",
             ),
         ],
diff --git a/airflow-core/tests/unit/models/test_taskinstance.py b/airflow-core/tests/unit/models/test_taskinstance.py
index ca99aff9d15..7bb2284dcdb 100644
--- a/airflow-core/tests/unit/models/test_taskinstance.py
+++ b/airflow-core/tests/unit/models/test_taskinstance.py
@@ -2210,9 +2210,9 @@ class TestTaskInstance:
 
         # check that the asset event has an earlier timestamp than the ADRQ's
         adrq_timestamps = session.query(AssetDagRunQueue.created_at).filter_by(asset_id=event.asset.id).all()
-        assert all(
-            event.timestamp < adrq_timestamp for (adrq_timestamp,) in adrq_timestamps
-        ), f"Some items in {[str(t) for t in adrq_timestamps]} are earlier than {event.timestamp}"
+        assert all(event.timestamp < adrq_timestamp for (adrq_timestamp,) in adrq_timestamps), (
+            f"Some items in {[str(t) for t in adrq_timestamps]} are earlier than {event.timestamp}"
+        )
 
     def test_outlet_assets_failed(self, create_task_instance, testing_dag_bundle):
         """
@@ -3078,7 +3078,7 @@ class TestTaskInstance:
             ti.set_state(state=State.SUCCESS, session=dag_maker.session)
             return ti
 
-        date = cast(pendulum.DateTime, pendulum.parse("2019-01-01T00:00:00+00:00"))
+        date = cast("pendulum.DateTime", pendulum.parse("2019-01-01T00:00:00+00:00"))
 
         ret = []
 
@@ -4012,9 +4012,9 @@ class TestTaskInstance:
         for key, expected_value in expected_values.items():
             assert hasattr(ti, key), f"Key {key} is missing in the TaskInstance."
             if key not in hybrid_props:
-                assert (
-                    getattr(ti, key) == expected_value
-                ), f"Key: {key} had different values. Make sure it loads it in the refresh refresh_from_db()"
+                assert getattr(ti, key) == expected_value, (
+                    f"Key: {key} had different values. Make sure it loads it in the refresh refresh_from_db()"
+                )
 
     def test_operator_field_with_serialization(self, create_task_instance):
         ti = create_task_instance()
diff --git a/airflow-core/tests/unit/models/test_xcom_arg.py b/airflow-core/tests/unit/models/test_xcom_arg.py
index f21a4b8c62a..4bbb8427155 100644
--- a/airflow-core/tests/unit/models/test_xcom_arg.py
+++ b/airflow-core/tests/unit/models/test_xcom_arg.py
@@ -66,8 +66,7 @@ class TestXComArgBuild:
         # Asserting the overridden __eq__ method
         assert actual == XComArg(python_op, "test_key")
         expected_str = (
-            "{{ task_instance.xcom_pull(task_ids='test_xcom_op', "
-            "dag_id='test_xcom_dag', key='test_key') }}"
+            "{{ task_instance.xcom_pull(task_ids='test_xcom_op', dag_id='test_xcom_dag', key='test_key') }}"
         )
         assert str(actual) == expected_str
         assert (
diff --git a/airflow-core/tests/unit/sensors/test_external_task_sensor.py b/airflow-core/tests/unit/sensors/test_external_task_sensor.py
index 6883c785487..1a7938cc27d 100644
--- a/airflow-core/tests/unit/sensors/test_external_task_sensor.py
+++ b/airflow-core/tests/unit/sensors/test_external_task_sensor.py
@@ -399,8 +399,7 @@ class TestExternalTaskSensor:
             caplog.clear()
             op.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE, ignore_ti_state=True)
             assert (
-                f"Poking for tasks ['{TEST_TASK_ID}'] "
-                f"in dag {TEST_DAG_ID} on {DEFAULT_DATE.isoformat()} ... "
+                f"Poking for tasks ['{TEST_TASK_ID}'] in dag {TEST_DAG_ID} on {DEFAULT_DATE.isoformat()} ... "
             ) in caplog.messages
 
     def test_external_task_sensor_external_task_ids_param(self, caplog):
@@ -418,8 +417,7 @@ class TestExternalTaskSensor:
             caplog.clear()
             op.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE, ignore_ti_state=True)
             assert (
-                f"Poking for tasks ['{TEST_TASK_ID}'] "
-                f"in dag {TEST_DAG_ID} on {DEFAULT_DATE.isoformat()} ... "
+                f"Poking for tasks ['{TEST_TASK_ID}'] in dag {TEST_DAG_ID} on {DEFAULT_DATE.isoformat()} ... "
             ) in caplog.messages
 
     def test_external_task_sensor_failed_states_as_success_mulitple_task_ids(self, caplog):
@@ -1437,13 +1435,13 @@ def dag_bag_cyclic():
                 dags.append(dag)
                 task_a = ExternalTaskSensor(
                     task_id=f"task_a_{n}",
-                    external_dag_id=f"dag_{n-1}",
-                    external_task_id=f"task_b_{n-1}",
+                    external_dag_id=f"dag_{n - 1}",
+                    external_task_id=f"task_b_{n - 1}",
                 )
                 task_b = ExternalTaskMarker(
                     task_id=f"task_b_{n}",
-                    external_dag_id=f"dag_{n+1}",
-                    external_task_id=f"task_a_{n+1}",
+                    external_dag_id=f"dag_{n + 1}",
+                    external_task_id=f"task_a_{n + 1}",
                     recursion_depth=3,
                 )
                 task_a >> task_b
@@ -1453,8 +1451,8 @@ def dag_bag_cyclic():
             dags.append(dag)
             task_a = ExternalTaskSensor(
                 task_id=f"task_a_{depth}",
-                external_dag_id=f"dag_{depth-1}",
-                external_task_id=f"task_b_{depth-1}",
+                external_dag_id=f"dag_{depth - 1}",
+                external_task_id=f"task_b_{depth - 1}",
             )
             task_b = ExternalTaskMarker(
                 task_id=f"task_b_{depth}",
diff --git a/airflow-core/tests/unit/serialization/test_dag_serialization.py b/airflow-core/tests/unit/serialization/test_dag_serialization.py
index c435aa436a3..98363d4eec8 100644
--- a/airflow-core/tests/unit/serialization/test_dag_serialization.py
+++ b/airflow-core/tests/unit/serialization/test_dag_serialization.py
@@ -662,9 +662,9 @@ class TestStringifiedDAGs:
                     # Check we stored _something_.
                     assert k in serialized_dag.default_args
                 else:
-                    assert (
-                        v == serialized_dag.default_args[k]
-                    ), f"{dag.dag_id}.default_args[{k}] does not match"
+                    assert v == serialized_dag.default_args[k], (
+                        f"{dag.dag_id}.default_args[{k}] does not match"
+                    )
 
         assert serialized_dag.timetable.summary == dag.timetable.summary
         assert serialized_dag.timetable.serialize() == dag.timetable.serialize()
@@ -739,9 +739,9 @@ class TestStringifiedDAGs:
         assert serialized_task.downstream_task_ids == task.downstream_task_ids
 
         for field in fields_to_check:
-            assert getattr(serialized_task, field) == getattr(
-                task, field
-            ), f"{task.dag.dag_id}.{task.task_id}.{field} does not match"
+            assert getattr(serialized_task, field) == getattr(task, field), (
+                f"{task.dag.dag_id}.{task.task_id}.{field} does not match"
+            )
 
         if serialized_task.resources is None:
             assert task.resources is None or task.resources == []
@@ -1320,9 +1320,9 @@ class TestStringifiedDAGs:
         assert set(DAG.get_serialized_fields()) == dag_params
 
     def test_operator_subclass_changing_base_defaults(self):
-        assert (
-            BaseOperator(task_id="dummy").do_xcom_push is True
-        ), "Precondition check! If this fails the test won't make sense"
+        assert BaseOperator(task_id="dummy").do_xcom_push is True, (
+            "Precondition check! If this fails the test won't make sense"
+        )
 
         class MyOperator(BaseOperator):
             def __init__(self, do_xcom_push=False, **kwargs):
diff --git a/airflow-core/tests/unit/timetables/test_assets_timetable.py b/airflow-core/tests/unit/timetables/test_assets_timetable.py
index d8386bc27f5..8386f26338f 100644
--- a/airflow-core/tests/unit/timetables/test_assets_timetable.py
+++ b/airflow-core/tests/unit/timetables/test_assets_timetable.py
@@ -250,9 +250,9 @@ def test_run_ordering_inheritance(asset_timetable: AssetOrTimeSchedule) -> None:
 
     :param asset_timetable: The AssetOrTimeSchedule instance to test.
     """
-    assert hasattr(
-        asset_timetable, "run_ordering"
-    ), "AssetOrTimeSchedule should have 'run_ordering' attribute"
+    assert hasattr(asset_timetable, "run_ordering"), (
+        "AssetOrTimeSchedule should have 'run_ordering' attribute"
+    )
     parent_run_ordering = getattr(AssetTriggeredTimetable, "run_ordering", None)
     assert asset_timetable.run_ordering == parent_run_ordering, "run_ordering does not match the parent class"
 
@@ -318,28 +318,28 @@ class TestAssetConditionWithTimetable:
         with dag_maker(schedule=AssetAny(asset1, AssetAll(asset2, asset1))) as dag:
             EmptyOperator(task_id="hello")
 
-        assert isinstance(
-            dag.timetable.asset_condition, AssetAny
-        ), "DAG's asset trigger should be an instance of AssetAny"
-        assert any(
-            isinstance(trigger, AssetAll) for trigger in dag.timetable.asset_condition.objects
-        ), "DAG's asset trigger should include AssetAll"
+        assert isinstance(dag.timetable.asset_condition, AssetAny), (
+            "DAG's asset trigger should be an instance of AssetAny"
+        )
+        assert any(isinstance(trigger, AssetAll) for trigger in dag.timetable.asset_condition.objects), (
+            "DAG's asset trigger should include AssetAll"
+        )
 
         serialized_triggers = SerializedDAG.serialize(dag.timetable.asset_condition)
 
         deserialized_triggers = SerializedDAG.deserialize(serialized_triggers)
 
-        assert isinstance(
-            deserialized_triggers, AssetAny
-        ), "Deserialized triggers should be an instance of AssetAny"
-        assert any(
-            isinstance(trigger, AssetAll) for trigger in deserialized_triggers.objects
-        ), "Deserialized triggers should include AssetAll"
+        assert isinstance(deserialized_triggers, AssetAny), (
+            "Deserialized triggers should be an instance of AssetAny"
+        )
+        assert any(isinstance(trigger, AssetAll) for trigger in deserialized_triggers.objects), (
+            "Deserialized triggers should include AssetAll"
+        )
 
         serialized_timetable_dict = SerializedDAG.to_dict(dag)["dag"]["timetable"]["__var"]
-        assert (
-            "asset_condition" in serialized_timetable_dict
-        ), "Serialized timetable should contain 'asset_condition'"
-        assert isinstance(
-            serialized_timetable_dict["asset_condition"], dict
-        ), "Serialized 'asset_condition' should be a dict"
+        assert "asset_condition" in serialized_timetable_dict, (
+            "Serialized timetable should contain 'asset_condition'"
+        )
+        assert isinstance(serialized_timetable_dict["asset_condition"], dict), (
+            "Serialized 'asset_condition' should be a dict"
+        )
diff --git a/airflow-ctl/src/airflowctl/api/client.py b/airflow-ctl/src/airflowctl/api/client.py
index 6be8ab66473..10dee8096bb 100644
--- a/airflow-ctl/src/airflowctl/api/client.py
+++ b/airflow-ctl/src/airflowctl/api/client.py
@@ -260,4 +260,4 @@ def provide_api_client(func: Callable[PS, RT]) -> Callable[PS, RT]:
     return wrapper
 
 
-NEW_CLI_API_CLIENT: Client = cast(Client, None)
+NEW_CLI_API_CLIENT: Client = cast("Client", None)
diff --git a/clients/python/test_python_client.py b/clients/python/test_python_client.py
index f68028c8a54..49952818736 100644
--- a/clients/python/test_python_client.py
+++ b/clients/python/test_python_client.py
@@ -67,7 +67,7 @@ from airflow_client.client.model.dag_run import DAGRun
 
 
 create_app()
-auth_manager = cast(get_auth_manager(), SimpleAuthManager)
+auth_manager = cast("get_auth_manager()", SimpleAuthManager)
 users = auth_manager.get_users()
 passwords = auth_manager.get_passwords(users)
 username, password = next(iter(passwords.items()))
diff --git a/dev/assign_cherry_picked_prs_with_milestone.py b/dev/assign_cherry_picked_prs_with_milestone.py
index 135e944af2a..fa05455dd3e 100755
--- a/dev/assign_cherry_picked_prs_with_milestone.py
+++ b/dev/assign_cherry_picked_prs_with_milestone.py
@@ -28,12 +28,12 @@ from typing import TYPE_CHECKING, Any, NamedTuple, cast
 
 import rich_click as click
 from github import Github, UnknownObjectException
-from github.PullRequest import PullRequest
 from rich.console import Console
 from rich.prompt import Confirm, Prompt
 
 if TYPE_CHECKING:
     from github.Milestone import Milestone
+    from github.PullRequest import PullRequest
     from github.Repository import Repository
 
 CHANGELOG_SKIP_LABEL = "changelog:skip"
@@ -303,7 +303,7 @@ def assign_prs(
             # Fallback to issue if PR not found
             try:
                 # PR has almost the same fields as Issue
-                pr = cast(PullRequest, repo.get_issue(pr_number))
+                pr = cast("PullRequest", repo.get_issue(pr_number))
             except UnknownObjectException:
                 console.print(f"[red]The PR #{pr_number} could not be found[/]")
                 continue
diff --git a/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py b/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
index eddcd7ff875..1c525dac1c6 100644
--- a/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
@@ -203,8 +203,7 @@ def build_timout_handler(build_process_group_id: int, signum, frame):
         "started to backtrack dependency resolution.\n"
     )
     get_console().print(
-        "[warning]Please follow the instructions in "
-        "`dev/MANUALLY_GENERATING_IMAGE_CACHE_AND_CONSTRAINTS.md"
+        "[warning]Please follow the instructions in `dev/MANUALLY_GENERATING_IMAGE_CACHE_AND_CONSTRAINTS.md"
     )
     get_console().print(
         "[warning]in the `How to figure out backtracking dependencies` "
diff --git a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index 0347b095e5c..99fa9955aca 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -2143,8 +2143,8 @@ def is_package_in_dist(dist_files: list[str], package: str) -> bool:
     return any(
         file.startswith(
             (
-                f'apache_airflow_providers_{package.replace(".", "_")}',
-                f'apache-airflow-providers-{package.replace(".", "-")}',
+                f"apache_airflow_providers_{package.replace('.', '_')}",
+                f"apache-airflow-providers-{package.replace('.', '-')}",
             )
         )
         for file in dist_files
@@ -2157,7 +2157,7 @@ VERSION_MATCH = re.compile(r"([0-9]+)\.([0-9]+)\.([0-9]+)(.*)")
 def get_suffix_from_package_in_dist(dist_files: list[str], package: str) -> str | None:
     """Get suffix from package prepared in dist folder."""
     for file in dist_files:
-        if file.startswith(f'apache_airflow_providers_{package.replace(".", "_")}') and file.endswith(
+        if file.startswith(f"apache_airflow_providers_{package.replace('.', '_')}") and file.endswith(
             ".tar.gz"
         ):
             file = file[: -len(".tar.gz")]
diff --git a/dev/breeze/src/airflow_breeze/commands/setup_commands.py b/dev/breeze/src/airflow_breeze/commands/setup_commands.py
index 4e485909e12..55878e5db03 100644
--- a/dev/breeze/src/airflow_breeze/commands/setup_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/setup_commands.py
@@ -81,8 +81,7 @@ def setup():
 )
 @setup.command(
     name="self-upgrade",
-    help="Self upgrade Breeze. By default it re-installs Breeze "
-    f"from {get_installation_airflow_sources()}."
+    help=f"Self upgrade Breeze. By default it re-installs Breeze from {get_installation_airflow_sources()}."
     if not generating_command_images()
     else "Self upgrade Breeze.",
 )
@@ -176,8 +175,7 @@ def version():
     get_console().print(f"[info]Used Airflow sources : {get_used_airflow_sources()}[/]\n")
     if get_verbose():
         get_console().print(
-            f"[info]Installation sources config hash : "
-            f"{get_installation_sources_config_metadata_hash()}[/]"
+            f"[info]Installation sources config hash : {get_installation_sources_config_metadata_hash()}[/]"
         )
         get_console().print(
             f"[info]Used sources config hash         : {get_used_sources_setup_metadata_hash()}[/]"
diff --git a/dev/breeze/src/airflow_breeze/commands/testing_commands.py b/dev/breeze/src/airflow_breeze/commands/testing_commands.py
index 29fa758fb03..49fdfdd547b 100644
--- a/dev/breeze/src/airflow_breeze/commands/testing_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/testing_commands.py
@@ -1274,7 +1274,7 @@ def _run_test_command(
     if skip_providers:
         ignored_path_list = [
             *[
-                f"--ignore=providers/{provider_id.replace('.','/')}/tests"
+                f"--ignore=providers/{provider_id.replace('.', '/')}/tests"
                 for provider_id in skip_providers.split(" ")
             ],
         ]
diff --git a/dev/breeze/src/airflow_breeze/params/shell_params.py b/dev/breeze/src/airflow_breeze/params/shell_params.py
index 43e623da746..ad55b4ac71a 100644
--- a/dev/breeze/src/airflow_breeze/params/shell_params.py
+++ b/dev/breeze/src/airflow_breeze/params/shell_params.py
@@ -426,8 +426,7 @@ class ShellParams:
         broker_url = CELERY_BROKER_URLS_MAP.get(self.celery_broker)
         if not broker_url:
             get_console().print(
-                f"[warning]The broker {self.celery_broker} should "
-                f"be one of {CELERY_BROKER_URLS_MAP.keys()}"
+                f"[warning]The broker {self.celery_broker} should be one of {CELERY_BROKER_URLS_MAP.keys()}"
             )
             return ""
         # Map from short form (rabbitmq/redis) to actual urls
diff --git a/dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py b/dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py
index 05425ec2f11..98e297e4548 100644
--- a/dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py
+++ b/dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py
@@ -758,8 +758,7 @@ def update_release_notes(
                 raise PrepareReleaseDocsUserQuitException()
         elif not list_of_list_of_changes:
             get_console().print(
-                f"\n[warning]Provider: {provider_id} - "
-                f"skipping documentation generation. No changes![/]\n"
+                f"\n[warning]Provider: {provider_id} - skipping documentation generation. No changes![/]\n"
             )
             raise PrepareReleaseDocsNoChangesException()
         else:
diff --git a/dev/breeze/src/airflow_breeze/utils/add_back_references.py b/dev/breeze/src/airflow_breeze/utils/add_back_references.py
index 001721b5bde..cbc0369c7ce 100644
--- a/dev/breeze/src/airflow_breeze/utils/add_back_references.py
+++ b/dev/breeze/src/airflow_breeze/utils/add_back_references.py
@@ -149,7 +149,7 @@ def start_generating_back_references(airflow_site_directory: Path, short_provide
     if short_provider_ids:
         for p in short_provider_ids:
             slash_based_short_provider_id = p.replace(".", "/")
-            full_provider_name = f"apache-airflow-providers-{p.replace('.','-')}"
+            full_provider_name = f"apache-airflow-providers-{p.replace('.', '-')}"
             get_console().print(f"Processing airflow provider: {full_provider_name}")
             generate_back_references(
                 get_github_provider_redirects_url(slash_based_short_provider_id),
diff --git a/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py b/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
index afddad78b55..364e586731c 100644
--- a/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
+++ b/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
@@ -177,8 +177,7 @@ def check_docker_is_running():
     )
     if response.returncode != 0:
         get_console().print(
-            "[error]Docker is not running.[/]\n"
-            "[warning]Please make sure Docker is installed and running.[/]"
+            "[error]Docker is not running.[/]\n[warning]Please make sure Docker is installed and running.[/]"
         )
         sys.exit(1)
 
diff --git a/dev/breeze/src/airflow_breeze/utils/github.py b/dev/breeze/src/airflow_breeze/utils/github.py
index 1d8fa8f79be..7023a0cfdab 100644
--- a/dev/breeze/src/airflow_breeze/utils/github.py
+++ b/dev/breeze/src/airflow_breeze/utils/github.py
@@ -225,8 +225,7 @@ def download_artifact_from_run_id(run_id: str, output_file: Path, github_reposit
 
     if response.status_code != 200:
         get_console().print(
-            "[error]Downloading artifacts failed with status code "
-            f"{response.status_code}: {response.text}",
+            f"[error]Downloading artifacts failed with status code {response.status_code}: {response.text}",
         )
         sys.exit(1)
 
@@ -263,8 +262,7 @@ def download_artifact_from_pr(pr: str, output_file: Path, github_repository: str
 
     if pull_response.status_code != 200:
         get_console().print(
-            "[error]Fetching PR failed with status codee "
-            f"{pull_response.status_code}: {pull_response.text}",
+            f"[error]Fetching PR failed with status codee {pull_response.status_code}: {pull_response.text}",
         )
         sys.exit(1)
 
diff --git a/dev/breeze/src/airflow_breeze/utils/kubernetes_utils.py b/dev/breeze/src/airflow_breeze/utils/kubernetes_utils.py
index ecda36f7b26..c4044c8d27a 100644
--- a/dev/breeze/src/airflow_breeze/utils/kubernetes_utils.py
+++ b/dev/breeze/src/airflow_breeze/utils/kubernetes_utils.py
@@ -115,8 +115,7 @@ def _download_with_retries(num_tries, path, tool, url):
                 get_console().print(f"[error]Failing on max retries. Error while downloading {tool}: {e}")
                 sys.exit(1)
             get_console().print(
-                f"[warning]Retrying: {num_tries} retries  left on error "
-                f"while downloading {tool} tool: {e}"
+                f"[warning]Retrying: {num_tries} retries  left on error while downloading {tool} tool: {e}"
             )
 
 
@@ -171,8 +170,7 @@ def _download_tool_if_needed(
         )
     except OSError as e:
         get_console().print(
-            f"[info]Error when running `{tool}`: {e}. "
-            f"Removing and downloading {expected_version} version."
+            f"[info]Error when running `{tool}`: {e}. Removing and downloading {expected_version} version."
         )
         path.unlink(missing_ok=True)
     get_console().print(f"[info]Downloading from:[/] {url}")
@@ -295,8 +293,7 @@ def _requirements_changed() -> bool:
         return True
     if CACHED_K8S_DEPS_HASH_PATH.read_text() != _get_k8s_deps_hash():
         get_console().print(
-            f"\n[warning]Requirements changed for the K8S venv in {K8S_ENV_PATH}. "
-            f"Reinstalling the venv.\n"
+            f"\n[warning]Requirements changed for the K8S venv in {K8S_ENV_PATH}. Reinstalling the venv.\n"
         )
         return True
     return False
@@ -586,6 +583,9 @@ def print_cluster_urls(
     k8s_api_server_port, api_server_port = get_kubernetes_port_numbers(
         python=python, kubernetes_version=kubernetes_version
     )
+    get_console(output=output).print(
+        f"\n[info]Kubeconfig file in: {get_kubeconfig_file(python, kubernetes_version)}\n"
+    )
     get_console(output=output).print(
         f"\n[info]KinD Cluster API server URL: [/]http://localhost:{k8s_api_server_port}"
     )
diff --git a/dev/breeze/src/airflow_breeze/utils/packages.py b/dev/breeze/src/airflow_breeze/utils/packages.py
index 8495f22c2cb..35269da2757 100644
--- a/dev/breeze/src/airflow_breeze/utils/packages.py
+++ b/dev/breeze/src/airflow_breeze/utils/packages.py
@@ -396,7 +396,7 @@ def find_matching_long_package_names(
     processed_package_filters.extend(get_long_package_names(short_packages))
 
     removed_packages: list[str] = [
-        f"apache-airflow-providers-{provider.replace('.','-')}" for provider in get_removed_provider_ids()
+        f"apache-airflow-providers-{provider.replace('.', '-')}" for provider in get_removed_provider_ids()
     ]
     all_packages_including_removed: list[str] = available_doc_packages + removed_packages
     invalid_filters = [
@@ -598,8 +598,8 @@ def convert_cross_package_dependencies_to_table(
     prefix = "apache-airflow-providers-"
     base_url = "https://airflow.apache.org/docs/"
     for dependency in cross_package_dependencies:
-        pip_package_name = f"{prefix}{dependency.replace('.','-')}"
-        url_suffix = f"{dependency.replace('.','-')}"
+        pip_package_name = f"{prefix}{dependency.replace('.', '-')}"
+        url_suffix = f"{dependency.replace('.', '-')}"
         if markdown:
             url = f"[{pip_package_name}]({base_url}{url_suffix})"
         else:
@@ -773,7 +773,7 @@ def make_sure_remote_apache_exists_and_fetch(github_repository: str = "apache/ai
             f"[error]Error {e}[/]\n"
             f"[error]When fetching tags from remote. Your tags might not be refreshed.[/]\n\n"
             f'[warning]Please refresh the tags manually via:[/]\n\n"'
-            f'{" ".join(fetch_command)}\n\n'
+            f"{' '.join(fetch_command)}\n\n"
         )
         sys.exit(1)
 
diff --git a/dev/breeze/src/airflow_breeze/utils/provider_dependencies.py b/dev/breeze/src/airflow_breeze/utils/provider_dependencies.py
index 3ff7c389df8..7175e492284 100644
--- a/dev/breeze/src/airflow_breeze/utils/provider_dependencies.py
+++ b/dev/breeze/src/airflow_breeze/utils/provider_dependencies.py
@@ -92,8 +92,7 @@ def generate_providers_metadata_for_package(
         }
     if not provider_mentioned_in_constraints:
         get_console().print(
-            f"[warning]No constraints mention {provider_id} in any Airflow version. "
-            f"Skipping it altogether."
+            f"[warning]No constraints mention {provider_id} in any Airflow version. Skipping it altogether."
         )
         return {}
     return provider_metadata
diff --git a/dev/breeze/src/airflow_breeze/utils/run_utils.py b/dev/breeze/src/airflow_breeze/utils/run_utils.py
index 67d4b918da2..1ff6ef30ba5 100644
--- a/dev/breeze/src/airflow_breeze/utils/run_utils.py
+++ b/dev/breeze/src/airflow_breeze/utils/run_utils.py
@@ -293,8 +293,7 @@ def instruct_build_image(python: str):
     """Print instructions to the user that they should build the image"""
     get_console().print(f"[warning]\nThe CI image for Python version {python} may be outdated[/]\n")
     get_console().print(
-        f"\n[info]Please run at the earliest "
-        f"convenience:[/]\n\nbreeze ci-image build --python {python}\n\n"
+        f"\n[info]Please run at the earliest convenience:[/]\n\nbreeze ci-image build --python {python}\n\n"
     )
 
 
diff --git a/dev/breeze/src/airflow_breeze/utils/versions.py b/dev/breeze/src/airflow_breeze/utils/versions.py
index ab47b62d888..7fc2ace68e8 100644
--- a/dev/breeze/src/airflow_breeze/utils/versions.py
+++ b/dev/breeze/src/airflow_breeze/utils/versions.py
@@ -33,7 +33,7 @@ def strip_leading_zeros_from_version(version: str) -> str:
 def get_version_tag(version: str, provider_id: str, version_suffix: str = ""):
     if version_suffix is None:
         version_suffix = ""
-    return f"providers-{provider_id.replace('.','-')}/{version}{version_suffix}"
+    return f"providers-{provider_id.replace('.', '-')}/{version}{version_suffix}"
 
 
 def is_pre_release(version: str) -> bool:
diff --git a/dev/breeze/tests/test_selective_checks.py b/dev/breeze/tests/test_selective_checks.py
index c45d07052d9..dfa51118855 100644
--- a/dev/breeze/tests/test_selective_checks.py
+++ b/dev/breeze/tests/test_selective_checks.py
@@ -95,8 +95,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str, str], stderr: str):
                     assert received_value == expected_value, f"Correct value for {expected_key!r}"
                 else:
                     print_in_color(
-                        f"\n[red]ERROR: The key '{expected_key}' missing but "
-                        f"it is expected. Expected value:"
+                        f"\n[red]ERROR: The key '{expected_key}' missing but it is expected. Expected value:"
                     )
                     print_in_color(expected_value)
                     print_in_color("\nOutput received:")
@@ -531,8 +530,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str, str], stderr: str):
                     "providers/http/tests/file.py",
                 ),
                 {
-                    "selected-providers-list-as-string": "amazon apache.livy "
-                    "dbt.cloud dingding discord http",
+                    "selected-providers-list-as-string": "amazon apache.livy dbt.cloud dingding discord http",
                     "all-python-versions": "['3.9']",
                     "all-python-versions-list-as-string": "3.9",
                     "python-versions": "['3.9']",
diff --git a/dev/prepare_bulk_issues.py b/dev/prepare_bulk_issues.py
index e6c26f82f3b..708d00fe094 100755
--- a/dev/prepare_bulk_issues.py
+++ b/dev/prepare_bulk_issues.py
@@ -228,7 +228,7 @@ def prepare_bulk_issues(
             except GithubException as e:
                 console.print(f"[red]Error!: {e}[/]")
                 console.print(
-                    f"[yellow]Restart with `--start-from {processed_issues+start_from}` to continue.[/]"
+                    f"[yellow]Restart with `--start-from {processed_issues + start_from}` to continue.[/]"
                 )
         console.print(f"Created {processed_issues} issue(s).")
 
diff --git a/dev/system_tests/update_issue_status.py b/dev/system_tests/update_issue_status.py
index 83ba3a73e86..e0d0f6e5003 100755
--- a/dev/system_tests/update_issue_status.py
+++ b/dev/system_tests/update_issue_status.py
@@ -202,8 +202,7 @@ def update_issue_status(
         f"{len(completed_closed_issues) / num_issues:.2%}"
     )
     console.print(
-        f"   Completed files {total_count_done}/{total_count_all} = "
-        f"{total_count_done / total_count_all:.2%}"
+        f"   Completed files {total_count_done}/{total_count_all} = {total_count_done / total_count_all:.2%}"
     )
     console.print()
     if not_completed_closed_issues:
diff --git a/devel-common/pyproject.toml b/devel-common/pyproject.toml
index 6815632ba05..79ab66e82bd 100644
--- a/devel-common/pyproject.toml
+++ b/devel-common/pyproject.toml
@@ -37,7 +37,7 @@ dependencies = [
     "duckdb>=0.9.0; python_version < '3.12'",
     # Static checks devel
     "black>=23.12.0",
-    "ruff==0.8.1",
+    "ruff==0.11.2",
     "yamllint>=1.33.0",
     # devscripts
     "click>=8.1.8",
diff --git a/devel-common/src/tests_common/pytest_plugin.py b/devel-common/src/tests_common/pytest_plugin.py
index 7f7ac0c4a3f..bd79d038a27 100644
--- a/devel-common/src/tests_common/pytest_plugin.py
+++ b/devel-common/src/tests_common/pytest_plugin.py
@@ -1903,7 +1903,9 @@ def mocked_parse(spy_agency):
 
             mocked_parse(
                 StartupDetails(
-                    ti=TaskInstance(id=uuid7(), task_id="hello", dag_id="super_basic_run", run_id="c", try_number=1),
+                    ti=TaskInstance(
+                        id=uuid7(), task_id="hello", dag_id="super_basic_run", run_id="c", try_number=1
+                    ),
                     file="",
                     requests_fd=0,
                 ),
diff --git a/devel-common/src/tests_common/test_utils/compat.py b/devel-common/src/tests_common/test_utils/compat.py
index 580fd723dea..1be9dcecb88 100644
--- a/devel-common/src/tests_common/test_utils/compat.py
+++ b/devel-common/src/tests_common/test_utils/compat.py
@@ -172,8 +172,7 @@ def ignore_provider_compatibility_error(minimum_version: str, module_name: str):
     except RuntimeError as e:
         if f"needs Apache Airflow {minimum_version}" in str(e):
             pytest.skip(
-                reason=f"Skip module {module_name} as "
-                f"minimum Airflow version is required {minimum_version}.",
+                reason=f"Skip module {module_name} as minimum Airflow version is required {minimum_version}.",
                 allow_module_level=True,
             )
         else:
diff --git a/devel-common/src/tests_common/test_utils/system_tests.py b/devel-common/src/tests_common/test_utils/system_tests.py
index 6dffef9ff9e..daaa2639afb 100644
--- a/devel-common/src/tests_common/test_utils/system_tests.py
+++ b/devel-common/src/tests_common/test_utils/system_tests.py
@@ -69,9 +69,9 @@ def get_test_run(dag, **test_kwargs):
             use_executor=os.environ.get("_AIRFLOW__SYSTEM_TEST_USE_EXECUTOR") == "1",
             **test_kwargs,
         )
-        assert (
-            dag_run.state == DagRunState.SUCCESS
-        ), "The system test failed, please look at the logs to find out the underlying failed task(s)"
+        assert dag_run.state == DagRunState.SUCCESS, (
+            "The system test failed, please look at the logs to find out the underlying failed task(s)"
+        )
 
     return test_run
 
diff --git a/docker_tests/test_prod_image.py b/docker_tests/test_prod_image.py
index f896f244507..6741bb3cc29 100644
--- a/docker_tests/test_prod_image.py
+++ b/docker_tests/test_prod_image.py
@@ -41,12 +41,12 @@ sys.path.insert(0, AIRFLOW_ROOT_PATH.as_posix())  # make sure airflow root is im
 from hatch_build import PRE_INSTALLED_PROVIDERS  # noqa: E402
 
 SLIM_IMAGE_PROVIDERS = [
-    f"apache-airflow-providers-{provider_id.split('>=')[0].replace('.','-')}"
+    f"apache-airflow-providers-{provider_id.split('>=')[0].replace('.', '-')}"
     for provider_id in PRE_INSTALLED_PROVIDERS
     if not provider_id.startswith("#")
 ]
 REGULAR_IMAGE_PROVIDERS = [
-    f"apache-airflow-providers-{provider_id.split('>=')[0].replace('.','-')}"
+    f"apache-airflow-providers-{provider_id.split('>=')[0].replace('.', '-')}"
     for provider_id in PROD_IMAGE_PROVIDERS_FILE_PATH.read_text().splitlines()
     if not provider_id.startswith("#")
 ]
@@ -99,9 +99,9 @@ class TestPythonPackages:
         packages_installed = set(d["package_name"] for d in providers)
         assert len(packages_installed) != 0
 
-        assert (
-            packages_to_install == packages_installed
-        ), f"List of expected installed packages and image content mismatch. Check {package_file} file."
+        assert packages_to_install == packages_installed, (
+            f"List of expected installed packages and image content mismatch. Check {package_file} file."
+        )
 
     def test_pip_dependencies_conflict(self, default_docker_image):
         try:
diff --git a/docs/exts/docs_build/package_filter.py b/docs/exts/docs_build/package_filter.py
index 26dae9ff1c3..a0ca972a726 100644
--- a/docs/exts/docs_build/package_filter.py
+++ b/docs/exts/docs_build/package_filter.py
@@ -47,7 +47,7 @@ def process_package_filters(available_packages: list[str], package_filters: list
         return available_packages
 
     suspended_packages = [
-        f"apache-airflow-providers-{provider.replace('.','-')}" for provider in get_removed_provider_ids()
+        f"apache-airflow-providers-{provider.replace('.', '-')}" for provider in get_removed_provider_ids()
     ]
     all_packages_with_suspended = available_packages + suspended_packages
     invalid_filters = [
diff --git a/docs/exts/exampleinclude.py b/docs/exts/exampleinclude.py
index 06ed4912cb2..c098aa9c506 100644
--- a/docs/exts/exampleinclude.py
+++ b/docs/exts/exampleinclude.py
@@ -1,6 +1,3 @@
-# flake8: noqa
-# Disable Flake8 because of all the sphinx imports
-#
 # 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
diff --git a/helm_tests/airflow_aux/test_airflow_common.py b/helm_tests/airflow_aux/test_airflow_common.py
index 55d88e4eed2..9a7bf09caf6 100644
--- a/helm_tests/airflow_aux/test_airflow_common.py
+++ b/helm_tests/airflow_aux/test_airflow_common.py
@@ -345,9 +345,9 @@ class TestAirflowCommon:
         for doc in docs:
             component = doc["metadata"]["labels"]["component"]
             variables = expected_vars_in_worker if component == "worker" else expected_vars
-            assert variables == jmespath.search(
-                "spec.template.spec.containers[0].env[*].name", doc
-            ), f"Wrong vars in {component}"
+            assert variables == jmespath.search("spec.template.spec.containers[0].env[*].name", doc), (
+                f"Wrong vars in {component}"
+            )
 
     def test_have_all_variables(self):
         docs = render_chart(
@@ -373,9 +373,9 @@ class TestAirflowCommon:
         for doc in docs:
             component = doc["metadata"]["labels"]["component"]
             variables = expected_vars_in_worker if component == "worker" else expected_vars
-            assert variables == jmespath.search(
-                "spec.template.spec.containers[0].env[*].name", doc
-            ), f"Wrong vars in {component}"
+            assert variables == jmespath.search("spec.template.spec.containers[0].env[*].name", doc), (
+                f"Wrong vars in {component}"
+            )
 
     def test_have_all_config_mounts_on_init_containers(self):
         docs = render_chart(
diff --git a/helm_tests/airflow_aux/test_basic_helm_chart.py b/helm_tests/airflow_aux/test_basic_helm_chart.py
index 641cbeab704..f609110b199 100644
--- a/helm_tests/airflow_aux/test_basic_helm_chart.py
+++ b/helm_tests/airflow_aux/test_basic_helm_chart.py
@@ -169,9 +169,9 @@ class TestBaseChartTest:
             if chart_name and "postgresql" in chart_name:
                 continue
             k8s_name = k8s_object["kind"] + ":" + k8s_object["metadata"]["name"]
-            assert (
-                labels.get("test-label") == "TEST-VALUE"
-            ), f"Missing label test-label on {k8s_name}. Current labels: {labels}"
+            assert labels.get("test-label") == "TEST-VALUE", (
+                f"Missing label test-label on {k8s_name}. Current labels: {labels}"
+            )
 
     def test_basic_deployments_with_standard_naming(self):
         k8s_objects = render_chart(
@@ -254,9 +254,9 @@ class TestBaseChartTest:
             if chart_name and "postgresql" in chart_name:
                 continue
             k8s_name = k8s_object["kind"] + ":" + k8s_object["metadata"]["name"]
-            assert (
-                labels.get("test-label") == "TEST-VALUE"
-            ), f"Missing label test-label on {k8s_name}. Current labels: {labels}"
+            assert labels.get("test-label") == "TEST-VALUE", (
+                f"Missing label test-label on {k8s_name}. Current labels: {labels}"
+            )
 
     @pytest.mark.parametrize("version", ["2.3.2", "2.4.0", "default"])
     def test_basic_deployment_without_default_users(self, version):
diff --git a/performance/src/performance_dags/performance_dag/performance_dag_utils.py b/performance/src/performance_dags/performance_dag/performance_dag_utils.py
index a17c63e71ed..e37264a228f 100644
--- a/performance/src/performance_dags/performance_dag/performance_dag_utils.py
+++ b/performance/src/performance_dags/performance_dag/performance_dag_utils.py
@@ -598,8 +598,7 @@ def get_performance_dag_environment_variable(performance_dag_conf: dict[str, str
     if env_name in MANDATORY_performance_DAG_VARIABLES:
         if env_name not in performance_dag_conf:
             raise ValueError(
-                f"Mandatory environment variable '{env_name}' "
-                f"is missing from performance dag configuration."
+                f"Mandatory environment variable '{env_name}' is missing from performance dag configuration."
             )
         return performance_dag_conf[env_name]
 
diff --git a/providers/alibaba/src/airflow/providers/alibaba/cloud/hooks/oss.py b/providers/alibaba/src/airflow/providers/alibaba/cloud/hooks/oss.py
index 59b68bd037d..8f752a1ca0a 100644
--- a/providers/alibaba/src/airflow/providers/alibaba/cloud/hooks/oss.py
+++ b/providers/alibaba/src/airflow/providers/alibaba/cloud/hooks/oss.py
@@ -49,7 +49,7 @@ def provide_bucket_name(func: T) -> T:
 
         return func(*bound_args.args, **bound_args.kwargs)
 
-    return cast(T, wrapper)
+    return cast("T", wrapper)
 
 
 def unify_bucket_name_and_key(func: T) -> T:
@@ -73,7 +73,7 @@ def unify_bucket_name_and_key(func: T) -> T:
 
         return func(*bound_args.args, **bound_args.kwargs)
 
-    return cast(T, wrapper)
+    return cast("T", wrapper)
 
 
 class OSSHook(BaseHook):
diff --git a/providers/alibaba/tests/unit/alibaba/cloud/utils/test_utils.py b/providers/alibaba/tests/unit/alibaba/cloud/utils/test_utils.py
index 109ec3f5eda..6908157e13e 100644
--- a/providers/alibaba/tests/unit/alibaba/cloud/utils/test_utils.py
+++ b/providers/alibaba/tests/unit/alibaba/cloud/utils/test_utils.py
@@ -39,4 +39,4 @@ def skip_test_if_no_valid_conn_id(func: T) -> T:
         else:
             return None
 
-    return cast(T, wrapper)
+    return cast("T", wrapper)
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py b/providers/amazon/src/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py
index 096366c8eba..c15452a7584 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py
@@ -27,15 +27,6 @@ from fastapi import FastAPI
 
 from airflow.api_fastapi.app import AUTH_MANAGER_FASTAPI_APP_PREFIX
 from airflow.api_fastapi.auth.managers.base_auth_manager import BaseAuthManager
-from airflow.api_fastapi.auth.managers.models.resource_details import (
-    AccessView,
-    BackfillDetails,
-    ConnectionDetails,
-    DagAccessEntity,
-    DagDetails,
-    PoolDetails,
-    VariableDetails,
-)
 from airflow.cli.cli_config import CLICommand, DefaultHelpParser, GroupCommand
 from airflow.configuration import conf
 from airflow.exceptions import AirflowOptionalProviderFeatureException
@@ -59,9 +50,16 @@ if TYPE_CHECKING:
         IsAuthorizedVariableRequest,
     )
     from airflow.api_fastapi.auth.managers.models.resource_details import (
+        AccessView,
         AssetAliasDetails,
         AssetDetails,
+        BackfillDetails,
         ConfigurationDetails,
+        ConnectionDetails,
+        DagAccessEntity,
+        DagDetails,
+        PoolDetails,
+        VariableDetails,
     )
     from airflow.api_fastapi.common.types import MenuItem
 
@@ -256,7 +254,7 @@ class AwsAuthManager(BaseAuthManager[AwsAuthManagerUser]):
             {
                 "method": request["method"],
                 "entity_type": AvpEntities.CONNECTION,
-                "entity_id": cast(ConnectionDetails, request["details"]).conn_id
+                "entity_id": cast("ConnectionDetails", request["details"]).conn_id
                 if request.get("details")
                 else None,
             }
@@ -274,10 +272,10 @@ class AwsAuthManager(BaseAuthManager[AwsAuthManagerUser]):
             {
                 "method": request["method"],
                 "entity_type": AvpEntities.DAG,
-                "entity_id": cast(DagDetails, request["details"]).id if request.get("details") else None,
+                "entity_id": cast("DagDetails", request["details"]).id if request.get("details") else None,
                 "context": {
                     "dag_entity": {
-                        "string": cast(DagAccessEntity, request["access_entity"]).value,
+                        "string": cast("DagAccessEntity", request["access_entity"]).value,
                     },
                 }
                 if request.get("access_entity")
@@ -297,7 +295,7 @@ class AwsAuthManager(BaseAuthManager[AwsAuthManagerUser]):
             {
                 "method": request["method"],
                 "entity_type": AvpEntities.POOL,
-                "entity_id": cast(PoolDetails, request["details"]).name if request.get("details") else None,
+                "entity_id": cast("PoolDetails", request["details"]).name if request.get("details") else None,
             }
             for request in requests
         ]
@@ -313,7 +311,7 @@ class AwsAuthManager(BaseAuthManager[AwsAuthManagerUser]):
             {
                 "method": request["method"],
                 "entity_type": AvpEntities.VARIABLE,
-                "entity_id": cast(VariableDetails, request["details"]).key
+                "entity_id": cast("VariableDetails", request["details"]).key
                 if request.get("details")
                 else None,
             }
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py b/providers/amazon/src/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py
index 6233d46aa29..3d9821ae257 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py
@@ -278,7 +278,7 @@ class AwsEcsExecutor(BaseExecutor):
         if not has_exit_codes:
             return ""
         reasons = [
-            f'{container["container_arn"]} - {container["reason"]}'
+            f"{container['container_arn']} - {container['reason']}"
             for container in containers
             if "reason" in container
         ]
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/hooks/athena_sql.py b/providers/amazon/src/airflow/providers/amazon/aws/hooks/athena_sql.py
index 8aa5b957e10..e8d8680c29c 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/hooks/athena_sql.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/hooks/athena_sql.py
@@ -146,10 +146,10 @@ class AthenaSQLHook(AwsBaseHook, DbApiHook):
         creds = self.get_credentials(region_name=conn_params["region_name"])
 
         return URL.create(
-            f'awsathena+{conn_params["driver"]}',
+            f"awsathena+{conn_params['driver']}",
             username=creds.access_key,
             password=creds.secret_key,
-            host=f'athena.{conn_params["region_name"]}.{conn_params["aws_domain"]}',
+            host=f"athena.{conn_params['region_name']}.{conn_params['aws_domain']}",
             port=443,
             database=conn_params["schema_name"],
             query={"aws_session_token": creds.token, **self.conn.extra_dejson},
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/hooks/batch_client.py b/providers/amazon/src/airflow/providers/amazon/aws/hooks/batch_client.py
index 6c40ad86e36..4d85898d917 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/hooks/batch_client.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/hooks/batch_client.py
@@ -416,8 +416,7 @@ class BatchClientHook(AwsBaseHook):
                 )
         else:
             raise AirflowException(
-                f"AWS Batch job ({job_id}) description error: exceeded status_retries "
-                f"({self.status_retries})"
+                f"AWS Batch job ({job_id}) description error: exceeded status_retries ({self.status_retries})"
             )
 
     @staticmethod
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/hooks/dms.py b/providers/amazon/src/airflow/providers/amazon/aws/hooks/dms.py
index e9515c8fac3..f7b91b4b572 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/hooks/dms.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/hooks/dms.py
@@ -292,7 +292,9 @@ class DmsHook(AwsBaseHook):
             return arn
 
         except ClientError as err:
-            err_str = f"Error: {err.get('Error','').get('Code','')}: {err.get('Error','').get('Message','')}"
+            err_str = (
+                f"Error: {err.get('Error', '').get('Code', '')}: {err.get('Error', '').get('Message', '')}"
+            )
             self.log.error("Error while creating replication config: %s", err_str)
             raise err
 
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/hooks/redshift_data.py b/providers/amazon/src/airflow/providers/amazon/aws/hooks/redshift_data.py
index 50a655ec4c4..72879fd8595 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/hooks/redshift_data.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/hooks/redshift_data.py
@@ -186,8 +186,7 @@ class RedshiftDataHook(AwsGenericHook["RedshiftDataAPIServiceClient"]):
                 RedshiftDataQueryFailedError if status == FAILED_STATE else RedshiftDataQueryAbortedError
             )
             raise exception_cls(
-                f"Statement {resp['Id']} terminated with status {status}. "
-                f"Response details: {pformat(resp)}"
+                f"Statement {resp['Id']} terminated with status {status}. Response details: {pformat(resp)}"
             )
 
         self.log.info("Query status: %s", status)
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/hooks/sagemaker.py b/providers/amazon/src/airflow/providers/amazon/aws/hooks/sagemaker.py
index 7e02a408cb4..43df07e23bd 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/hooks/sagemaker.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/hooks/sagemaker.py
@@ -131,7 +131,7 @@ def secondary_training_status_message(
     status_strs = []
     for transition in transitions_to_print:
         message = transition["StatusMessage"]
-        time_utc = timezone.convert_to_utc(cast(datetime, job_description["LastModifiedTime"]))
+        time_utc = timezone.convert_to_utc(cast("datetime", job_description["LastModifiedTime"]))
         status_strs.append(f"{time_utc:%Y-%m-%d %H:%M:%S} {transition['Status']} - {message}")
 
     return "\n".join(status_strs)
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/links/athena.py b/providers/amazon/src/airflow/providers/amazon/aws/links/athena.py
index 99950d25806..bff6b025975 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/links/athena.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/links/athena.py
@@ -25,6 +25,5 @@ class AthenaQueryResultsLink(BaseAwsLink):
     name = "Query Results"
     key = "_athena_query_results"
     format_str = (
-        BASE_AWS_CONSOLE_LINK + "/athena/home?region={region_name}#"
-        "/query-editor/history/{query_execution_id}"
+        BASE_AWS_CONSOLE_LINK + "/athena/home?region={region_name}#/query-editor/history/{query_execution_id}"
     )
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/operators/eks.py b/providers/amazon/src/airflow/providers/amazon/aws/operators/eks.py
index f1acec9915f..40f91d4de46 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/operators/eks.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/operators/eks.py
@@ -338,7 +338,7 @@ class EksCreateClusterOperator(BaseOperator):
             fargate_pod_execution_role_arn=self.fargate_pod_execution_role_arn,
             fargate_selectors=self.fargate_selectors,
             create_fargate_profile_kwargs=self.create_fargate_profile_kwargs,
-            subnets=cast(list[str], self.resources_vpc_config.get("subnetIds")),
+            subnets=cast("list[str]", self.resources_vpc_config.get("subnetIds")),
         )
 
     def deferrable_create_cluster_next(self, context: Context, event: dict[str, Any] | None = None) -> None:
@@ -377,7 +377,7 @@ class EksCreateClusterOperator(BaseOperator):
                 fargate_pod_execution_role_arn=self.fargate_pod_execution_role_arn,
                 fargate_selectors=self.fargate_selectors,
                 create_fargate_profile_kwargs=self.create_fargate_profile_kwargs,
-                subnets=cast(list[str], self.resources_vpc_config.get("subnetIds")),
+                subnets=cast("list[str]", self.resources_vpc_config.get("subnetIds")),
             )
             if self.compute == "fargate":
                 self.defer(
@@ -503,7 +503,7 @@ class EksCreateNodegroupOperator(BaseOperator):
             nodegroup_subnets_list: list[str] = []
             if self.nodegroup_subnets != "":
                 try:
-                    nodegroup_subnets_list = cast(list, literal_eval(self.nodegroup_subnets))
+                    nodegroup_subnets_list = cast("list", literal_eval(self.nodegroup_subnets))
                 except ValueError:
                     self.log.warning(
                         "The nodegroup_subnets should be List or string representing "
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/operators/sagemaker.py b/providers/amazon/src/airflow/providers/amazon/aws/operators/sagemaker.py
index c3d74acd7bf..778816151be 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/operators/sagemaker.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/operators/sagemaker.py
@@ -170,7 +170,7 @@ class SageMakerBaseOperator(BaseOperator):
                 timestamp = str(
                     time.time_ns() // 1000000000
                 )  # only keep the relevant datetime (first 10 digits)
-                name = f"{proposed_name[:max_name_len - len(timestamp) - 1]}-{timestamp}"  # we subtract one to make provision for the dash between the truncated name and timestamp
+                name = f"{proposed_name[: max_name_len - len(timestamp) - 1]}-{timestamp}"  # we subtract one to make provision for the dash between the truncated name and timestamp
                 self.log.info("Changed %s name to '%s' to avoid collision.", resource_type, name)
         return name
 
@@ -178,8 +178,7 @@ class SageMakerBaseOperator(BaseOperator):
         """Raise exception if resource type is not 'model' or 'job'."""
         if resource_type not in ("model", "job"):
             raise AirflowException(
-                "Argument resource_type accepts only 'model' and 'job'. "
-                f"Provided value: '{resource_type}'."
+                f"Argument resource_type accepts only 'model' and 'job'. Provided value: '{resource_type}'."
             )
 
     def _check_if_job_exists(self, job_name: str, describe_func: Callable[[str], Any]) -> bool:
@@ -559,8 +558,7 @@ class SageMakerEndpointOperator(SageMakerBaseOperator):
                 self.operation = "update"
                 sagemaker_operation = self.hook.update_endpoint
                 self.log.warning(
-                    "cannot create already existing endpoint %s, "
-                    "updating it with the given config instead",
+                    "cannot create already existing endpoint %s, updating it with the given config instead",
                     endpoint_info["EndpointName"],
                 )
                 if "Tags" in endpoint_info:
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/sensors/glacier.py b/providers/amazon/src/airflow/providers/amazon/aws/sensors/glacier.py
index f36a0d701f0..f52c157c938 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/sensors/glacier.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/sensors/glacier.py
@@ -95,5 +95,5 @@ class GlacierJobOperationSensor(AwsBaseSensor[GlacierHook]):
             return False
         else:
             raise AirflowException(
-                f'Sensor failed. Job status: {response["Action"]}, code status: {response["StatusCode"]}'
+                f"Sensor failed. Job status: {response['Action']}, code status: {response['StatusCode']}"
             )
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/sensors/s3.py b/providers/amazon/src/airflow/providers/amazon/aws/sensors/s3.py
index c59bf53ea1c..cdbe7bceff9 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/sensors/s3.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/sensors/s3.py
@@ -192,7 +192,7 @@ class S3KeySensor(AwsBaseSensor[S3Hook]):
         self.defer(
             timeout=timedelta(seconds=self.timeout),
             trigger=S3KeyTrigger(
-                bucket_name=cast(str, self.bucket_name),
+                bucket_name=cast("str", self.bucket_name),
                 bucket_key=self.bucket_key,
                 wildcard_match=self.wildcard_match,
                 aws_conn_id=self.aws_conn_id,
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/transfers/mongo_to_s3.py b/providers/amazon/src/airflow/providers/amazon/aws/transfers/mongo_to_s3.py
index 1dc32fb6ed7..d729655ae8e 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/transfers/mongo_to_s3.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/transfers/mongo_to_s3.py
@@ -103,7 +103,7 @@ class MongoToS3Operator(BaseOperator):
         if self.is_pipeline:
             results: CommandCursor[Any] | Cursor = MongoHook(self.mongo_conn_id).aggregate(
                 mongo_collection=self.mongo_collection,
-                aggregate_query=cast(list, self.mongo_query),
+                aggregate_query=cast("list", self.mongo_query),
                 mongo_db=self.mongo_db,
                 allowDiskUse=self.allow_disk_use,
             )
@@ -111,7 +111,7 @@ class MongoToS3Operator(BaseOperator):
         else:
             results = MongoHook(self.mongo_conn_id).find(
                 mongo_collection=self.mongo_collection,
-                query=cast(dict, self.mongo_query),
+                query=cast("dict", self.mongo_query),
                 projection=self.mongo_projection,
                 mongo_db=self.mongo_db,
                 find_one=False,
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/transfers/sql_to_s3.py b/providers/amazon/src/airflow/providers/amazon/aws/transfers/sql_to_s3.py
index 8443bcaf696..327702f3e69 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/transfers/sql_to_s3.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/transfers/sql_to_s3.py
@@ -223,7 +223,7 @@ class SqlToS3Operator(BaseOperator):
             return
         for group_label in (grouped_df := df.groupby(**self.groupby_kwargs)).groups:
             yield (
-                cast(str, group_label),
+                cast("str", group_label),
                 grouped_df.get_group(group_label)
                 .drop(random_column_name, axis=1, errors="ignore")
                 .reset_index(drop=True),
diff --git a/providers/amazon/tests/system/amazon/aws/example_dms.py b/providers/amazon/tests/system/amazon/aws/example_dms.py
index 54e218c8330..e23e8268de8 100644
--- a/providers/amazon/tests/system/amazon/aws/example_dms.py
+++ b/providers/amazon/tests/system/amazon/aws/example_dms.py
@@ -324,7 +324,7 @@ with DAG(
     )
     # [END howto_operator_dms_create_task]
 
-    task_arn = cast(str, create_task.output)
+    task_arn = cast("str", create_task.output)
 
     # [START howto_operator_dms_start_task]
     start_task = DmsStartTaskOperator(
diff --git a/providers/amazon/tests/system/amazon/aws/example_sagemaker.py b/providers/amazon/tests/system/amazon/aws/example_sagemaker.py
index dd78212b21b..d8ad58812f8 100644
--- a/providers/amazon/tests/system/amazon/aws/example_sagemaker.py
+++ b/providers/amazon/tests/system/amazon/aws/example_sagemaker.py
@@ -141,7 +141,7 @@ def _build_and_upload_docker_image(preprocess_script, repository_uri):
         dockerfile.write(
             f"""
             FROM public.ecr.aws/amazonlinux/amazonlinux
-            COPY {preprocessing_script.name.split('/')[2]} /preprocessing.py
+            COPY {preprocessing_script.name.split("/")[2]} /preprocessing.py
             RUN yum install python3 pip -y
             RUN pip3 install boto3 pandas requests
             CMD [ "python3", "/preprocessing.py"]
@@ -182,7 +182,7 @@ def generate_data() -> str:
     """generates a very simple csv dataset with headers"""
     content = "class,x,y\n"  # headers
     for i in range(SAMPLE_SIZE):
-        content += f"{i%100},{i},{SAMPLE_SIZE-i}\n"
+        content += f"{i % 100},{i},{SAMPLE_SIZE - i}\n"
     return content
 
 
diff --git a/providers/amazon/tests/system/amazon/aws/example_sagemaker_endpoint.py b/providers/amazon/tests/system/amazon/aws/example_sagemaker_endpoint.py
index 7d97ffe83fa..149cf0e52f9 100644
--- a/providers/amazon/tests/system/amazon/aws/example_sagemaker_endpoint.py
+++ b/providers/amazon/tests/system/amazon/aws/example_sagemaker_endpoint.py
@@ -211,7 +211,7 @@ with DAG(
     upload_data = S3CreateObjectOperator(
         task_id="upload_data",
         s3_bucket=test_setup["bucket_name"],
-        s3_key=f'{test_setup["input_data_s3_key"]}/train.csv',
+        s3_key=f"{test_setup['input_data_s3_key']}/train.csv",
         data=TRAIN_DATA,
     )
 
diff --git a/providers/amazon/tests/unit/amazon/aws/executors/batch/test_batch_executor.py b/providers/amazon/tests/unit/amazon/aws/executors/batch/test_batch_executor.py
index 809187cc9cf..0561bc45357 100644
--- a/providers/amazon/tests/unit/amazon/aws/executors/batch/test_batch_executor.py
+++ b/providers/amazon/tests/unit/amazon/aws/executors/batch/test_batch_executor.py
@@ -375,7 +375,7 @@ class TestAwsBatchExecutor:
         mock_executor.sync_running_jobs()
         for i in range(2):
             assert (
-                f'Airflow task {airflow_keys[i]} failed due to {jobs[i]["statusReason"]}. Failure 1 out of {mock_executor.MAX_SUBMIT_JOB_ATTEMPTS} occurred on {jobs[i]["jobId"]}. Rescheduling.'
+                f"Airflow task {airflow_keys[i]} failed due to {jobs[i]['statusReason']}. Failure 1 out of {mock_executor.MAX_SUBMIT_JOB_ATTEMPTS} occurred on {jobs[i]['jobId']}. Rescheduling."
                 in caplog.messages[i]
             )
 
@@ -384,7 +384,7 @@ class TestAwsBatchExecutor:
         mock_executor.sync_running_jobs()
         for i in range(2):
             assert (
-                f'Airflow task {airflow_keys[i]} failed due to {jobs[i]["statusReason"]}. Failure 2 out of {mock_executor.MAX_SUBMIT_JOB_ATTEMPTS} occurred on {jobs[i]["jobId"]}. Rescheduling.'
+                f"Airflow task {airflow_keys[i]} failed due to {jobs[i]['statusReason']}. Failure 2 out of {mock_executor.MAX_SUBMIT_JOB_ATTEMPTS} occurred on {jobs[i]['jobId']}. Rescheduling."
                 in caplog.messages[i]
             )
 
diff --git a/providers/amazon/tests/unit/amazon/aws/fs/test_s3.py b/providers/amazon/tests/unit/amazon/aws/fs/test_s3.py
index 962f26060a6..ec633c3c792 100644
--- a/providers/amazon/tests/unit/amazon/aws/fs/test_s3.py
+++ b/providers/amazon/tests/unit/amazon/aws/fs/test_s3.py
@@ -17,13 +17,16 @@
 from __future__ import annotations
 
 import os
-from typing import cast
+from typing import TYPE_CHECKING, cast
 from unittest.mock import patch
 
 import pytest
 import responses
 from botocore.awsrequest import AWSRequest
 
+if TYPE_CHECKING:
+    import s3fs
+
 pytest.importorskip("s3fs")
 
 TEST_CONN = "aws_test_conn"
@@ -44,12 +47,10 @@ def _setup_connections():
 
 class TestFilesystem:
     def test_get_s3fs(self):
-        import s3fs
-
         from airflow.providers.amazon.aws.fs.s3 import get_fs
 
         fs = get_fs(conn_id=TEST_CONN, storage_options={"key": "value"})
-        fs = cast(s3fs.S3FileSystem, fs)
+        fs = cast("s3fs.S3FileSystem", fs)
 
         assert "s3" in fs.protocol
         assert fs.config_kwargs["key"] == "value"
diff --git a/providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py b/providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py
index 8d1da3de743..af4b77fffcf 100644
--- a/providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py
+++ b/providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py
@@ -1153,9 +1153,9 @@ class TestAwsS3Hook:
 
             # Test: `bucket_name` should use the explicitly provided value over `service_config`
             test_bucket_name = fake_s3_hook.test_function(bucket_name="some_custom_bucket")
-            assert (
-                test_bucket_name == "some_custom_bucket"
-            ), "Expected provided bucket_name to take precedence over fallback"
+            assert test_bucket_name == "some_custom_bucket", (
+                "Expected provided bucket_name to take precedence over fallback"
+            )
 
     def test_delete_objects_key_does_not_exist(self, s3_bucket):
         # The behaviour of delete changed in recent version of s3 mock libraries.
diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_base_aws.py b/providers/amazon/tests/unit/amazon/aws/links/test_base_aws.py
index 7423d857977..98ebcde8c92 100644
--- a/providers/amazon/tests/unit/amazon/aws/links/test_base_aws.py
+++ b/providers/amazon/tests/unit/amazon/aws/links/test_base_aws.py
@@ -219,13 +219,13 @@ class BaseAwsLinksTestCase:
         deserialized_dag = SerializedDAG.from_dict(serialized_dag)
         deserialized_task = deserialized_dag.task_dict[self.task_id]
 
-        assert (
-            ti.task.operator_extra_links[0].get_link(operator=ti.task, ti_key=ti.key) == ""
-        ), "Operator link should only be added if job id is available in XCom"
+        assert ti.task.operator_extra_links[0].get_link(operator=ti.task, ti_key=ti.key) == "", (
+            "Operator link should only be added if job id is available in XCom"
+        )
 
-        assert (
-            deserialized_task.get_extra_links(ti, self.link_class.name) == ""
-        ), "Operator link should be empty for deserialized task with no XCom push"
+        assert deserialized_task.get_extra_links(ti, self.link_class.name) == "", (
+            "Operator link should be empty for deserialized task with no XCom push"
+        )
 
     def test_suppress_error_on_xcom_pull(self):
         """Test ignore any error on XCom pull"""
diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_batch.py b/providers/amazon/tests/unit/amazon/aws/links/test_batch.py
index fa548844c27..8ecf7022f21 100644
--- a/providers/amazon/tests/unit/amazon/aws/links/test_batch.py
+++ b/providers/amazon/tests/unit/amazon/aws/links/test_batch.py
@@ -45,8 +45,7 @@ class TestBatchJobDefinitionLink(BaseAwsLinksTestCase):
             )
         self.assert_extra_link_url(
             expected_url=(
-                "https://console.aws.amazon.com/batch/home"
-                "?region=eu-west-1#job-definition/detail/arn:fake:jd"
+                "https://console.aws.amazon.com/batch/home?region=eu-west-1#job-definition/detail/arn:fake:jd"
             ),
             region_name="eu-west-1",
             aws_partition="aws",
diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_sagemaker.py b/providers/amazon/tests/unit/amazon/aws/links/test_sagemaker.py
index 265e485196f..25bae4efdfa 100644
--- a/providers/amazon/tests/unit/amazon/aws/links/test_sagemaker.py
+++ b/providers/amazon/tests/unit/amazon/aws/links/test_sagemaker.py
@@ -42,8 +42,7 @@ class TestSageMakerTransformDetailsLink(BaseAwsLinksTestCase):
 
         self.assert_extra_link_url(
             expected_url=(
-                "https://console.aws.amazon.com/sagemaker/home"
-                "?region=us-east-1#/transform-jobs/test_job_name"
+                "https://console.aws.amazon.com/sagemaker/home?region=us-east-1#/transform-jobs/test_job_name"
             ),
             region_name="us-east-1",
             aws_partition="aws",
diff --git a/providers/amazon/tests/unit/amazon/aws/operators/test_eks.py b/providers/amazon/tests/unit/amazon/aws/operators/test_eks.py
index b557f2f0f87..bb68c6cf060 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_eks.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_eks.py
@@ -451,9 +451,9 @@ class TestEksCreateFargateProfileOperator:
         )
         with pytest.raises(TaskDeferred) as exc:
             operator.execute({})
-        assert isinstance(
-            exc.value.trigger, EksCreateFargateProfileTrigger
-        ), "Trigger is not a EksCreateFargateProfileTrigger"
+        assert isinstance(exc.value.trigger, EksCreateFargateProfileTrigger), (
+            "Trigger is not a EksCreateFargateProfileTrigger"
+        )
 
     def test_template_fields(self):
         op = EksCreateFargateProfileOperator(task_id=TASK_ID, **self.create_fargate_profile_params)
@@ -679,9 +679,9 @@ class TestEksDeleteFargateProfileOperator:
 
         with pytest.raises(TaskDeferred) as exc:
             self.delete_fargate_profile_operator.execute({})
-        assert isinstance(
-            exc.value.trigger, EksDeleteFargateProfileTrigger
-        ), "Trigger is not a EksDeleteFargateProfileTrigger"
+        assert isinstance(exc.value.trigger, EksDeleteFargateProfileTrigger), (
+            "Trigger is not a EksDeleteFargateProfileTrigger"
+        )
 
     def test_template_fields(self):
         validate_template_fields(self.delete_fargate_profile_operator)
diff --git a/providers/amazon/tests/unit/amazon/aws/operators/test_emr_containers.py b/providers/amazon/tests/unit/amazon/aws/operators/test_emr_containers.py
index 41ecdaa6876..ec32ac72d81 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_emr_containers.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_emr_containers.py
@@ -142,9 +142,9 @@ class TestEmrContainerOperator:
         self.emr_container.wait_for_completion = False
         with pytest.raises(TaskDeferred) as exc:
             self.emr_container.execute(context=None)
-        assert isinstance(
-            exc.value.trigger, EmrContainerTrigger
-        ), f"{exc.value.trigger} is not a EmrContainerTrigger"
+        assert isinstance(exc.value.trigger, EmrContainerTrigger), (
+            f"{exc.value.trigger} is not a EmrContainerTrigger"
+        )
 
     @mock.patch.object(EmrContainerHook, "submit_job")
     @mock.patch.object(
diff --git a/providers/amazon/tests/unit/amazon/aws/operators/test_emr_create_job_flow.py b/providers/amazon/tests/unit/amazon/aws/operators/test_emr_create_job_flow.py
index 3fb6ef74b57..037fb443036 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_emr_create_job_flow.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_emr_create_job_flow.py
@@ -229,9 +229,9 @@ class TestEmrCreateJobFlowOperator:
         with pytest.raises(TaskDeferred) as exc:
             self.operator.execute(self.mock_context)
 
-        assert isinstance(
-            exc.value.trigger, EmrCreateJobFlowTrigger
-        ), "Trigger is not a EmrCreateJobFlowTrigger"
+        assert isinstance(exc.value.trigger, EmrCreateJobFlowTrigger), (
+            "Trigger is not a EmrCreateJobFlowTrigger"
+        )
 
     def test_template_fields(self):
         validate_template_fields(self.operator)
diff --git a/providers/amazon/tests/unit/amazon/aws/operators/test_emr_terminate_job_flow.py b/providers/amazon/tests/unit/amazon/aws/operators/test_emr_terminate_job_flow.py
index f6797558370..90af4cbf5fc 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_emr_terminate_job_flow.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_emr_terminate_job_flow.py
@@ -56,9 +56,9 @@ class TestEmrTerminateJobFlowOperator:
 
         with pytest.raises(TaskDeferred) as exc:
             operator.execute(MagicMock())
-        assert isinstance(
-            exc.value.trigger, EmrTerminateJobFlowTrigger
-        ), "Trigger is not a EmrTerminateJobFlowTrigger"
+        assert isinstance(exc.value.trigger, EmrTerminateJobFlowTrigger), (
+            "Trigger is not a EmrTerminateJobFlowTrigger"
+        )
 
     def test_template_fields(self):
         operator = EmrTerminateJobFlowOperator(
diff --git a/providers/amazon/tests/unit/amazon/aws/operators/test_redshift_cluster.py b/providers/amazon/tests/unit/amazon/aws/operators/test_redshift_cluster.py
index ea89eb447f5..36ccf31217a 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_redshift_cluster.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_redshift_cluster.py
@@ -224,9 +224,9 @@ class TestRedshiftCreateClusterSnapshotOperator:
         )
         with pytest.raises(TaskDeferred) as exc:
             create_snapshot.execute(None)
-        assert isinstance(
-            exc.value.trigger, RedshiftCreateClusterSnapshotTrigger
-        ), "Trigger is not a RedshiftCreateClusterSnapshotTrigger"
+        assert isinstance(exc.value.trigger, RedshiftCreateClusterSnapshotTrigger), (
+            "Trigger is not a RedshiftCreateClusterSnapshotTrigger"
+        )
 
     def test_template_fields(self):
         operator = RedshiftCreateClusterSnapshotOperator(
@@ -358,9 +358,9 @@ class TestResumeClusterOperator:
         with pytest.raises(TaskDeferred) as exc:
             redshift_operator.execute({})
 
-        assert isinstance(
-            exc.value.trigger, RedshiftResumeClusterTrigger
-        ), "Trigger is not a RedshiftResumeClusterTrigger"
+        assert isinstance(exc.value.trigger, RedshiftResumeClusterTrigger), (
+            "Trigger is not a RedshiftResumeClusterTrigger"
+        )
 
     @mock.patch("airflow.providers.amazon.aws.operators.redshift_cluster.RedshiftResumeClusterOperator.defer")
     @mock.patch.object(RedshiftHook, "cluster_status")
@@ -510,9 +510,9 @@ class TestPauseClusterOperator:
         with pytest.raises(TaskDeferred) as exc:
             redshift_operator.execute(context=None)
 
-        assert isinstance(
-            exc.value.trigger, RedshiftPauseClusterTrigger
-        ), "Trigger is not a RedshiftPauseClusterTrigger"
+        assert isinstance(exc.value.trigger, RedshiftPauseClusterTrigger), (
+            "Trigger is not a RedshiftPauseClusterTrigger"
+        )
 
     @mock.patch("airflow.providers.amazon.aws.operators.redshift_cluster.RedshiftPauseClusterOperator.defer")
     @mock.patch.object(RedshiftHook, "cluster_status")
@@ -646,9 +646,9 @@ class TestDeleteClusterOperator:
         with pytest.raises(TaskDeferred) as exc:
             delete_cluster.execute(context=None)
 
-        assert isinstance(
-            exc.value.trigger, RedshiftDeleteClusterTrigger
-        ), "Trigger is not a RedshiftDeleteClusterTrigger"
+        assert isinstance(exc.value.trigger, RedshiftDeleteClusterTrigger), (
+            "Trigger is not a RedshiftDeleteClusterTrigger"
+        )
 
     @mock.patch("airflow.providers.amazon.aws.operators.redshift_cluster.RedshiftDeleteClusterOperator.defer")
     @mock.patch("airflow.providers.amazon.aws.hooks.redshift_cluster.RedshiftHook.cluster_status")
diff --git a/providers/amazon/tests/unit/amazon/aws/secrets/test_systems_manager.py b/providers/amazon/tests/unit/amazon/aws/secrets/test_systems_manager.py
index 1a2a93518dd..4614ff17012 100644
--- a/providers/amazon/tests/unit/amazon/aws/secrets/test_systems_manager.py
+++ b/providers/amazon/tests/unit/amazon/aws/secrets/test_systems_manager.py
@@ -184,8 +184,7 @@ class TestSsmSecrets:
         mock_ssm_client.assert_called_once_with(service_name="ssm", use_ssl=False)
 
     @mock.patch(
-        "airflow.providers.amazon.aws.secrets.systems_manager."
-        "SystemsManagerParameterStoreBackend._get_secret"
+        "airflow.providers.amazon.aws.secrets.systems_manager.SystemsManagerParameterStoreBackend._get_secret"
     )
     def test_connection_prefix_none_value(self, mock_get_secret):
         """
@@ -201,8 +200,7 @@ class TestSsmSecrets:
         mock_get_secret.assert_not_called()
 
     @mock.patch(
-        "airflow.providers.amazon.aws.secrets.systems_manager."
-        "SystemsManagerParameterStoreBackend._get_secret"
+        "airflow.providers.amazon.aws.secrets.systems_manager.SystemsManagerParameterStoreBackend._get_secret"
     )
     def test_variable_prefix_none_value(self, mock_get_secret):
         """
@@ -218,8 +216,7 @@ class TestSsmSecrets:
         mock_get_secret.assert_not_called()
 
     @mock.patch(
-        "airflow.providers.amazon.aws.secrets.systems_manager."
-        "SystemsManagerParameterStoreBackend._get_secret"
+        "airflow.providers.amazon.aws.secrets.systems_manager.SystemsManagerParameterStoreBackend._get_secret"
     )
     def test_config_prefix_none_value(self, mock_get_secret):
         """
diff --git a/providers/amazon/tests/unit/amazon/aws/sensors/test_emr_containers.py b/providers/amazon/tests/unit/amazon/aws/sensors/test_emr_containers.py
index d2ecd011ddd..6e737fbf7a9 100644
--- a/providers/amazon/tests/unit/amazon/aws/sensors/test_emr_containers.py
+++ b/providers/amazon/tests/unit/amazon/aws/sensors/test_emr_containers.py
@@ -84,9 +84,9 @@ class TestEmrContainerSensor:
         mock_poke.return_value = False
         with pytest.raises(TaskDeferred) as e:
             self.sensor.execute(context=None)
-        assert isinstance(
-            e.value.trigger, EmrContainerTrigger
-        ), f"{e.value.trigger} is not a EmrContainerTrigger"
+        assert isinstance(e.value.trigger, EmrContainerTrigger), (
+            f"{e.value.trigger} is not a EmrContainerTrigger"
+        )
 
     @mock.patch("airflow.providers.amazon.aws.sensors.emr.EmrContainerSensor.poke")
     def test_sensor_defer_with_timeout(self, mock_poke):
diff --git a/providers/amazon/tests/unit/amazon/aws/sensors/test_emr_job_flow.py b/providers/amazon/tests/unit/amazon/aws/sensors/test_emr_job_flow.py
index a0a56039fa2..74500a03c84 100644
--- a/providers/amazon/tests/unit/amazon/aws/sensors/test_emr_job_flow.py
+++ b/providers/amazon/tests/unit/amazon/aws/sensors/test_emr_job_flow.py
@@ -275,6 +275,6 @@ class TestEmrJobFlowSensor:
             with pytest.raises(TaskDeferred) as exc:
                 sensor.execute(context=None)
 
-        assert isinstance(
-            exc.value.trigger, EmrTerminateJobFlowTrigger
-        ), f"{exc.value.trigger} is not a EmrTerminateJobFlowTrigger"
+        assert isinstance(exc.value.trigger, EmrTerminateJobFlowTrigger), (
+            f"{exc.value.trigger} is not a EmrTerminateJobFlowTrigger"
+        )
diff --git a/providers/amazon/tests/unit/amazon/aws/sensors/test_glacier.py b/providers/amazon/tests/unit/amazon/aws/sensors/test_glacier.py
index 2c93cfb58eb..3303174450e 100644
--- a/providers/amazon/tests/unit/amazon/aws/sensors/test_glacier.py
+++ b/providers/amazon/tests/unit/amazon/aws/sensors/test_glacier.py
@@ -79,7 +79,7 @@ class TestAmazonGlacierSensor:
 
     def test_fail_poke(self, mocked_describe_job):
         response = {"Action": "some action", "StatusCode": "Failed"}
-        message = f'Sensor failed. Job status: {response["Action"]}, code status: {response["StatusCode"]}'
+        message = f"Sensor failed. Job status: {response['Action']}, code status: {response['StatusCode']}"
         mocked_describe_job.return_value = response
         with pytest.raises(AirflowException, match=message):
             self.op.poke(context={})
diff --git a/providers/amazon/tests/unit/amazon/aws/sensors/test_redshift_cluster.py b/providers/amazon/tests/unit/amazon/aws/sensors/test_redshift_cluster.py
index 2ecf83c3dfd..8a3c0ea48c1 100644
--- a/providers/amazon/tests/unit/amazon/aws/sensors/test_redshift_cluster.py
+++ b/providers/amazon/tests/unit/amazon/aws/sensors/test_redshift_cluster.py
@@ -113,9 +113,9 @@ class TestRedshiftClusterSensor:
 
         with pytest.raises(TaskDeferred) as exc:
             deferrable_op.execute(None)
-        assert isinstance(
-            exc.value.trigger, RedshiftClusterTrigger
-        ), "Trigger is not a RedshiftClusterTrigger"
+        assert isinstance(exc.value.trigger, RedshiftClusterTrigger), (
+            "Trigger is not a RedshiftClusterTrigger"
+        )
 
     def test_redshift_sensor_async_execute_failure(self, deferrable_op):
         """Test RedshiftClusterSensor with an AirflowException is raised in case of error event"""
diff --git a/providers/amazon/tests/unit/amazon/aws/transfers/test_s3_to_dynamodb.py b/providers/amazon/tests/unit/amazon/aws/transfers/test_s3_to_dynamodb.py
index aa92f34507b..66e7d6ee15a 100644
--- a/providers/amazon/tests/unit/amazon/aws/transfers/test_s3_to_dynamodb.py
+++ b/providers/amazon/tests/unit/amazon/aws/transfers/test_s3_to_dynamodb.py
@@ -175,9 +175,9 @@ class TestS3ToDynamoDBOperator:
         )
         with pytest.raises(AirflowException) as excinfo:
             new_table_op.execute(None)
-        assert "S3 load into DynamoDB table failed with error" in str(
-            excinfo.value
-        ), "Exception message not passed correctly"
+        assert "S3 load into DynamoDB table failed with error" in str(excinfo.value), (
+            "Exception message not passed correctly"
+        )
 
     @mock.patch("botocore.client.BaseClient._make_api_call")
     def test_s3_to_dynamodb_new_table_job_startup_error(self, mock_make_api_call, new_table_op):
diff --git a/providers/amazon/tests/unit/amazon/aws/utils/test_connection_wrapper.py b/providers/amazon/tests/unit/amazon/aws/utils/test_connection_wrapper.py
index 95aff74d3b5..02275cccaea 100644
--- a/providers/amazon/tests/unit/amazon/aws/utils/test_connection_wrapper.py
+++ b/providers/amazon/tests/unit/amazon/aws/utils/test_connection_wrapper.py
@@ -355,9 +355,9 @@ class TestAwsConnectionWrapper:
         # Non init fields should be same in orig_wrapper and child wrapper
         wrap_non_init_fields = [f.name for f in fields(wrap_conn) if not f.init]
         for field in wrap_non_init_fields:
-            assert getattr(wrap_conn, field) == getattr(
-                orig_wrapper, field
-            ), "Expected no changes in non-init values"
+            assert getattr(wrap_conn, field) == getattr(orig_wrapper, field), (
+                "Expected no changes in non-init values"
+            )
 
         # Test overwrite/inherit init fields
         assert wrap_conn.region_name == (region_name or orig_wrapper.region_name)
diff --git a/providers/apache/beam/tests/unit/apache/beam/operators/test_beam.py b/providers/apache/beam/tests/unit/apache/beam/operators/test_beam.py
index fc567f011ce..dcb766373bf 100644
--- a/providers/apache/beam/tests/unit/apache/beam/operators/test_beam.py
+++ b/providers/apache/beam/tests/unit/apache/beam/operators/test_beam.py
@@ -939,9 +939,9 @@ class TestBeamRunPythonPipelineOperatorAsync:
         with pytest.raises(TaskDeferred) as exc:
             op.execute(context=mock.MagicMock())
 
-        assert isinstance(
-            exc.value.trigger, BeamPythonPipelineTrigger
-        ), "Trigger is not a BeamPythonPipelineTrigger"
+        assert isinstance(exc.value.trigger, BeamPythonPipelineTrigger), (
+            "Trigger is not a BeamPythonPipelineTrigger"
+        )
 
     @mock.patch(BEAM_OPERATOR_PATH.format("BeamHook"))
     def test_async_execute_direct_runner(self, beam_hook_mock):
@@ -1046,9 +1046,9 @@ class TestBeamRunJavaPipelineOperatorAsync:
         with pytest.raises(TaskDeferred) as exc:
             op.execute(context=mock.MagicMock())
 
-        assert isinstance(
-            exc.value.trigger, BeamJavaPipelineTrigger
-        ), "Trigger is not a BeamPJavaPipelineTrigger"
+        assert isinstance(exc.value.trigger, BeamJavaPipelineTrigger), (
+            "Trigger is not a BeamPJavaPipelineTrigger"
+        )
 
     @mock.patch(BEAM_OPERATOR_PATH.format("BeamHook"))
     def test_async_execute_direct_runner(self, beam_hook_mock):
diff --git a/providers/apache/drill/src/airflow/providers/apache/drill/hooks/drill.py b/providers/apache/drill/src/airflow/providers/apache/drill/hooks/drill.py
index fec3ae7f0f1..86bacc5836d 100644
--- a/providers/apache/drill/src/airflow/providers/apache/drill/hooks/drill.py
+++ b/providers/apache/drill/src/airflow/providers/apache/drill/hooks/drill.py
@@ -55,7 +55,7 @@ class DrillHook(DbApiHook):
         database_url = (
             f"{conn_md.extra_dejson.get('dialect_driver', 'drill+sadrill')}://{creds}"
             f"{conn_md.host}:{conn_md.port}/"
-            f'{conn_md.extra_dejson.get("storage_plugin", "dfs")}'
+            f"{conn_md.extra_dejson.get('storage_plugin', 'dfs')}"
         )
         if "?" in database_url:
             raise ValueError("Drill database_url should not contain a '?'")
diff --git a/providers/apache/druid/tests/unit/apache/druid/hooks/test_druid.py b/providers/apache/druid/tests/unit/apache/druid/hooks/test_druid.py
index 478509480ea..b035aac3d76 100644
--- a/providers/apache/druid/tests/unit/apache/druid/hooks/test_druid.py
+++ b/providers/apache/druid/tests/unit/apache/druid/hooks/test_druid.py
@@ -119,8 +119,7 @@ class TestDruidSubmitHook:
             text='{"status":{"status": "RUNNING"}}',
         )
         shutdown_post = requests_mock.post(
-            "http://druid-overlord:8081/druid/indexer/v1/task/"
-            "9f8a7359-77d4-4612-b0cd-cc2f6a3c28de/shutdown",
+            "http://druid-overlord:8081/druid/indexer/v1/task/9f8a7359-77d4-4612-b0cd-cc2f6a3c28de/shutdown",
             text='{"task":"9f8a7359-77d4-4612-b0cd-cc2f6a3c28de"}',
         )
 
@@ -151,8 +150,7 @@ class TestDruidSubmitHook:
             text='{"status":{"status": "RUNNING"}}',
         )
         shutdown_post = requests_mock.post(
-            "http://druid-overlord:8081/druid/indexer/v1/task/"
-            "9f8a7359-77d4-4612-b0cd-cc2f6a3c28de/shutdown",
+            "http://druid-overlord:8081/druid/indexer/v1/task/9f8a7359-77d4-4612-b0cd-cc2f6a3c28de/shutdown",
             text='{"task":"9f8a7359-77d4-4612-b0cd-cc2f6a3c28de"}',
         )
 
@@ -222,8 +220,7 @@ class TestDruidSubmitHook:
             text='{"status":{"status": "RUNNING"}}',
         )
         shutdown_post = requests_mock.post(
-            "http://druid-overlord:8081/druid/indexer/v1/task/"
-            "9f8a7359-77d4-4612-b0cd-cc2f6a3c28de/shutdown",
+            "http://druid-overlord:8081/druid/indexer/v1/task/9f8a7359-77d4-4612-b0cd-cc2f6a3c28de/shutdown",
             text='{"task":"9f8a7359-77d4-4612-b0cd-cc2f6a3c28de"}',
         )
 
diff --git a/providers/apache/hive/tests/system/apache/hive/example_twitter_dag.py b/providers/apache/hive/tests/system/apache/hive/example_twitter_dag.py
index c247bf90330..11a072bdbcf 100644
--- a/providers/apache/hive/tests/system/apache/hive/example_twitter_dag.py
+++ b/providers/apache/hive/tests/system/apache/hive/example_twitter_dag.py
@@ -125,9 +125,7 @@ with DAG(
         load_to_hive = HiveOperator(
             task_id=f"load_{channel}_to_hive",
             hql=(
-                f"LOAD DATA INPATH '{hdfs_dir}{channel}/{file_name}'"
-                f"INTO TABLE {channel}"
-                f"PARTITION(dt='{dt}')"
+                f"LOAD DATA INPATH '{hdfs_dir}{channel}/{file_name}'INTO TABLE {channel}PARTITION(dt='{dt}')"
             ),
         )
         # [END create_hive]
diff --git a/providers/apache/hive/tests/unit/apache/hive/operators/test_hive_stats.py b/providers/apache/hive/tests/unit/apache/hive/operators/test_hive_stats.py
index b7090e1b39e..6f5504e274a 100644
--- a/providers/apache/hive/tests/unit/apache/hive/operators/test_hive_stats.py
+++ b/providers/apache/hive/tests/unit/apache/hive/operators/test_hive_stats.py
@@ -326,9 +326,7 @@ class TestHiveStatsCollectionOperator(TestHiveEnvironment):
                 op.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE, ignore_ti_state=True)
 
         select_count_query = (
-            "SELECT COUNT(*) AS __count "
-            "FROM airflow.static_babynames_partitioned "
-            "WHERE ds = '2015-01-01';"
+            "SELECT COUNT(*) AS __count FROM airflow.static_babynames_partitioned WHERE ds = '2015-01-01';"
         )
         mock_presto_hook.get_first.assert_called_with(hql=select_count_query)
 
diff --git a/providers/apache/hive/tests/unit/apache/hive/transfers/test_s3_to_hive.py b/providers/apache/hive/tests/unit/apache/hive/transfers/test_s3_to_hive.py
index 4d54b6248cf..5ec2f02fca4 100644
--- a/providers/apache/hive/tests/unit/apache/hive/transfers/test_s3_to_hive.py
+++ b/providers/apache/hive/tests/unit/apache/hive/transfers/test_s3_to_hive.py
@@ -172,17 +172,17 @@ class TestS3ToHiveTransfer:
 
     def test__match_headers(self):
         self.kwargs["field_dict"] = {"Sno": "BIGINT", "Some,Text": "STRING"}
-        assert S3ToHiveOperator(**self.kwargs)._match_headers(
-            ["Sno", "Some,Text"]
-        ), "Header row doesn't match expected value"
+        assert S3ToHiveOperator(**self.kwargs)._match_headers(["Sno", "Some,Text"]), (
+            "Header row doesn't match expected value"
+        )
         # Testing with different column order
-        assert not S3ToHiveOperator(**self.kwargs)._match_headers(
-            ["Some,Text", "Sno"]
-        ), "Header row doesn't match expected value"
+        assert not S3ToHiveOperator(**self.kwargs)._match_headers(["Some,Text", "Sno"]), (
+            "Header row doesn't match expected value"
+        )
         # Testing with extra column in header
-        assert not S3ToHiveOperator(**self.kwargs)._match_headers(
-            ["Sno", "Some,Text", "ExtraColumn"]
-        ), "Header row doesn't match expected value"
+        assert not S3ToHiveOperator(**self.kwargs)._match_headers(["Sno", "Some,Text", "ExtraColumn"]), (
+            "Header row doesn't match expected value"
+        )
 
     def test__delete_top_row_and_compress(self):
         s32hive = S3ToHiveOperator(**self.kwargs)
diff --git a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc.py b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc.py
index e3a34cfe26b..9973a56ca95 100644
--- a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc.py
+++ b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc.py
@@ -43,8 +43,7 @@ class TestSparkJDBCHook:
         "partition_column": "columnMcColumnFace",
         "lower_bound": "10",
         "upper_bound": "20",
-        "create_table_column_types": "columnMcColumnFace INTEGER(100), name CHAR(64),"
-        "comments VARCHAR(1024)",
+        "create_table_column_types": "columnMcColumnFace INTEGER(100), name CHAR(64),comments VARCHAR(1024)",
     }
 
     # this config is invalid because if one of [partitionColumn, lowerBound, upperBound]
@@ -62,8 +61,7 @@ class TestSparkJDBCHook:
         "num_partitions": 10,
         "partition_column": "columnMcColumnFace",
         "upper_bound": "20",
-        "create_table_column_types": "columnMcColumnFace INTEGER(100), name CHAR(64),"
-        "comments VARCHAR(1024)",
+        "create_table_column_types": "columnMcColumnFace INTEGER(100), name CHAR(64),comments VARCHAR(1024)",
     }
 
     def setup_method(self):
diff --git a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc_script.py b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc_script.py
index dcba3c67b64..5b28ae68498 100644
--- a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc_script.py
+++ b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc_script.py
@@ -96,8 +96,7 @@ class TestSparkJDBCScrip:
         "partition_column": "columnMcColumnFace",
         "lower_bound": "10",
         "upper_bound": "20",
-        "create_table_column_types": "columnMcColumnFace INTEGER(100), name CHAR(64),"
-        "comments VARCHAR(1024)",
+        "create_table_column_types": "columnMcColumnFace INTEGER(100), name CHAR(64),comments VARCHAR(1024)",
     }
 
     def test_parse_arguments(self):
diff --git a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit.py b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit.py
index cf1f182b7b7..cdd24349814 100644
--- a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit.py
+++ b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit.py
@@ -696,9 +696,9 @@ class TestSparkSubmitHook:
         }
         assert connection == expected_spark_connection
         assert dict_cmd["--keytab"] == "will-override"
-        assert (
-            not mock_create_keytab_path_from_base64_keytab.called
-        ), "Should not call _create_keytab_path_from_base64_keytab"
+        assert not mock_create_keytab_path_from_base64_keytab.called, (
+            "Should not call _create_keytab_path_from_base64_keytab"
+        )
 
     def test_resolve_spark_submit_env_vars_standalone_client_mode(self):
         # Given
@@ -780,8 +780,7 @@ class TestSparkSubmitHook:
             "pod uid: ba9c61f6-205f-11e8-b65f-d48564c88e42",
             "creation time: 2018-03-05T10:26:55Z",
             "service account name: spark",
-            "volumes: spark-init-properties, download-jars-volume,"
-            "download-files-volume, spark-token-2vmlm",
+            "volumes: spark-init-properties, download-jars-volume,download-files-volume, spark-token-2vmlm",
             "node name: N/A",
             "start time: N/A",
             "container images: N/A",
@@ -873,8 +872,7 @@ class TestSparkSubmitHook:
         # Given
         hook = SparkSubmitHook(conn_id="spark_standalone_cluster")
         log_lines = [
-            "curl: Failed to connect to http://spark-standalone-master:6066"
-            "This is an invalid Spark response",
+            "curl: Failed to connect to http://spark-standalone-master:6066This is an invalid Spark response",
             "Timed out",
         ]
         # When
@@ -984,8 +982,7 @@ class TestSparkSubmitHook:
             "pod uid: ba9c61f6-205f-11e8-b65f-d48564c88e42",
             "creation time: 2018-03-05T10:26:55Z",
             "service account name: spark",
-            "volumes: spark-init-properties, download-jars-volume,"
-            "download-files-volume, spark-token-2vmlm",
+            "volumes: spark-init-properties, download-jars-volume,download-files-volume, spark-token-2vmlm",
             "node name: N/A",
             "start time: N/A",
             "container images: N/A",
diff --git a/providers/apache/spark/tests/unit/apache/spark/operators/test_spark_jdbc.py b/providers/apache/spark/tests/unit/apache/spark/operators/test_spark_jdbc.py
index c1bcadc1ca2..9d313e7a6ce 100644
--- a/providers/apache/spark/tests/unit/apache/spark/operators/test_spark_jdbc.py
+++ b/providers/apache/spark/tests/unit/apache/spark/operators/test_spark_jdbc.py
@@ -53,8 +53,7 @@ class TestSparkJDBCOperator:
         "partition_column": "columnMcColumnFace",
         "lower_bound": "10",
         "upper_bound": "20",
-        "create_table_column_types": "columnMcColumnFace INTEGER(100), name CHAR(64),"
-        "comments VARCHAR(1024)",
+        "create_table_column_types": "columnMcColumnFace INTEGER(100), name CHAR(64),comments VARCHAR(1024)",
         "use_krb5ccache": True,
     }
 
diff --git a/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py b/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py
index 9b77a976073..75190d6bf25 100644
--- a/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py
+++ b/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py
@@ -192,7 +192,7 @@ class SparkKubernetesOperator(KubernetesPodOperator):
         if not context:
             return {}
 
-        context_dict = cast(dict, context)
+        context_dict = cast("dict", context)
         ti = context_dict["ti"]
         run_id = context_dict["run_id"]
 
diff --git a/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/triggers/pod.py b/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/triggers/pod.py
index 463444675ab..52a12414f2c 100644
--- a/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/triggers/pod.py
+++ b/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/triggers/pod.py
@@ -25,7 +25,6 @@ from functools import cached_property
 from typing import TYPE_CHECKING, Any, cast
 
 import tenacity
-from kubernetes_asyncio.client.models import V1Pod
 
 from airflow.providers.cncf.kubernetes.hooks.kubernetes import AsyncKubernetesHook
 from airflow.providers.cncf.kubernetes.utils.pod_manager import (
@@ -36,6 +35,7 @@ from airflow.providers.cncf.kubernetes.utils.pod_manager import (
 from airflow.triggers.base import BaseTrigger, TriggerEvent
 
 if TYPE_CHECKING:
+    from kubernetes_asyncio.client.models import V1Pod
     from pendulum import DateTime
 
 
@@ -265,7 +265,7 @@ class KubernetesPodTrigger(BaseTrigger):
         pod = await self.hook.get_pod(name=self.pod_name, namespace=self.pod_namespace)
         # Due to AsyncKubernetesHook overriding get_pod, we need to cast the return
         # value to kubernetes_asyncio.V1Pod, because it's perceived as different type
-        return cast(V1Pod, pod)
+        return cast("V1Pod", pod)
 
     @cached_property
     def hook(self) -> AsyncKubernetesHook:
diff --git a/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/utils/pod_manager.py b/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/utils/pod_manager.py
index 0d6f353310b..3bb9609c782 100644
--- a/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/utils/pod_manager.py
+++ b/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/utils/pod_manager.py
@@ -670,7 +670,7 @@ class PodManager(LoggingMixin):
         if not sep:
             return None, line
         try:
-            last_log_time = cast(DateTime, pendulum.parse(timestamp))
+            last_log_time = cast("DateTime", pendulum.parse(timestamp))
         except ParserError:
             return None, line
         return last_log_time, message
diff --git a/providers/common/io/src/airflow/providers/common/io/xcom/__init__.py b/providers/common/io/src/airflow/providers/common/io/xcom/__init__.py
index b245035ddbf..6bdd6c458f8 100644
--- a/providers/common/io/src/airflow/providers/common/io/xcom/__init__.py
+++ b/providers/common/io/src/airflow/providers/common/io/xcom/__init__.py
@@ -25,6 +25,5 @@ if packaging.version.parse(packaging.version.parse(airflow_version).base_version
     "2.9.0"
 ):
     raise AirflowOptionalProviderFeatureException(
-        "The package xcom backend feature of `apache-airflow-providers-common-io` needs "
-        "Apache Airflow 2.9.0+"
+        "The package xcom backend feature of `apache-airflow-providers-common-io` needs Apache Airflow 2.9.0+"
     )
diff --git a/providers/common/io/tests/system/common/io/example_file_transfer_local_to_s3.py b/providers/common/io/tests/system/common/io/example_file_transfer_local_to_s3.py
index f1522d5f261..04204f3c38b 100644
--- a/providers/common/io/tests/system/common/io/example_file_transfer_local_to_s3.py
+++ b/providers/common/io/tests/system/common/io/example_file_transfer_local_to_s3.py
@@ -68,7 +68,7 @@ with DAG(
     catchup=False,
 ) as dag:
     temp_file = create_temp_file()
-    temp_file_path = cast(ObjectStoragePath, temp_file)
+    temp_file_path = cast("ObjectStoragePath", temp_file)
 
     # [START howto_transfer_local_to_s3]
     transfer = FileTransferOperator(src=temp_file_path, dst=AWS_BUCKET, task_id="transfer")
diff --git a/providers/common/sql/src/airflow/providers/common/sql/hooks/handlers.pyi b/providers/common/sql/src/airflow/providers/common/sql/hooks/handlers.pyi
index 7e7992b88a3..43eb7d5cf36 100644
--- a/providers/common/sql/src/airflow/providers/common/sql/hooks/handlers.pyi
+++ b/providers/common/sql/src/airflow/providers/common/sql/hooks/handlers.pyi
@@ -34,6 +34,8 @@ isort:skip_file
 
 from collections.abc import Iterable
 
-def return_single_query_results(sql: str | Iterable[str], return_last: bool, split_statements: bool): ...
+def return_single_query_results(
+    sql: str | Iterable[str], return_last: bool, split_statements: bool | None
+): ...
 def fetch_all_handler(cursor) -> list[tuple] | None: ...
 def fetch_one_handler(cursor) -> list[tuple] | None: ...
diff --git a/providers/common/sql/src/airflow/providers/common/sql/hooks/sql.py b/providers/common/sql/src/airflow/providers/common/sql/hooks/sql.py
index 3edc72fd106..8914aa97b4d 100644
--- a/providers/common/sql/src/airflow/providers/common/sql/hooks/sql.py
+++ b/providers/common/sql/src/airflow/providers/common/sql/hooks/sql.py
@@ -615,8 +615,8 @@ class DbApiHook(BaseHook):
         is already a common data structure, this method should be ignored.
         """
         if isinstance(result, Sequence):
-            return cast(list[tuple], result)
-        return cast(tuple, result)
+            return cast("list[tuple]", result)
+        return cast("tuple", result)
 
     def _run_command(self, cur, sql_statement, parameters):
         """Run a statement using an already open cursor."""
diff --git a/providers/common/sql/src/airflow/providers/common/sql/hooks/sql.pyi b/providers/common/sql/src/airflow/providers/common/sql/hooks/sql.pyi
index fb9272e2290..d95daa4d0e9 100644
--- a/providers/common/sql/src/airflow/providers/common/sql/hooks/sql.pyi
+++ b/providers/common/sql/src/airflow/providers/common/sql/hooks/sql.pyi
@@ -50,7 +50,9 @@ T = TypeVar("T")
 SQL_PLACEHOLDERS: Incomplete
 WARNING_MESSAGE: str
 
-def return_single_query_results(sql: str | Iterable[str], return_last: bool, split_statements: bool): ...
+def return_single_query_results(
+    sql: str | Iterable[str], return_last: bool, split_statements: bool | None
+): ...
 def fetch_all_handler(cursor) -> list[tuple] | None: ...
 def fetch_one_handler(cursor) -> list[tuple] | None: ...
 def resolve_dialects() -> MutableMapping[str, MutableMapping]: ...
diff --git a/providers/common/sql/src/airflow/providers/common/sql/operators/sql.py b/providers/common/sql/src/airflow/providers/common/sql/operators/sql.py
index 2b20b1ee6bc..7e02a47c25b 100644
--- a/providers/common/sql/src/airflow/providers/common/sql/operators/sql.py
+++ b/providers/common/sql/src/airflow/providers/common/sql/operators/sql.py
@@ -1015,12 +1015,7 @@ class SQLIntervalCheckOperator(BaseSQLOperator):
                     test_results[metric] = self.ignore_zero
 
             self.log.info(
-                (
-                    "Current metric for %s: %s\n"
-                    "Past metric for %s: %s\n"
-                    "Ratio for %s: %s\n"
-                    "Threshold: %s\n"
-                ),
+                ("Current metric for %s: %s\nPast metric for %s: %s\nRatio for %s: %s\nThreshold: %s\n"),
                 metric,
                 cur,
                 metric,
@@ -1134,11 +1129,11 @@ class SQLThresholdCheckOperator(BaseSQLOperator):
             )
             error_msg = (
                 f'Threshold Check: "{meta_data.get("task_id")}" failed.\n'
-                f'DAG: {self.dag_id}\nTask_id: {meta_data.get("task_id")}\n'
-                f'Check description: {meta_data.get("description")}\n'
+                f"DAG: {self.dag_id}\nTask_id: {meta_data.get('task_id')}\n"
+                f"Check description: {meta_data.get('description')}\n"
                 f"SQL: {self.sql}\n"
                 f"Result: {result} is not within thresholds "
-                f'{meta_data.get("min_threshold")} and {meta_data.get("max_threshold")}'
+                f"{meta_data.get('min_threshold')} and {meta_data.get('max_threshold')}"
             )
             self._raise_exception(error_msg)
 
diff --git a/providers/databricks/src/airflow/providers/databricks/hooks/databricks_sql.py b/providers/databricks/src/airflow/providers/databricks/hooks/databricks_sql.py
index b0f52798d9f..d7d9423aa29 100644
--- a/providers/databricks/src/airflow/providers/databricks/hooks/databricks_sql.py
+++ b/providers/databricks/src/airflow/providers/databricks/hooks/databricks_sql.py
@@ -35,7 +35,6 @@ from databricks import sql  # type: ignore[attr-defined]
 from databricks.sql.types import Row
 
 from airflow.exceptions import AirflowException
-from airflow.models.connection import Connection as AirflowConnection
 from airflow.providers.common.sql.hooks.sql import DbApiHook, return_single_query_results
 from airflow.providers.databricks.exceptions import DatabricksSqlExecutionError, DatabricksSqlExecutionTimeout
 from airflow.providers.databricks.hooks.databricks_base import BaseDatabricksHook
@@ -43,6 +42,8 @@ from airflow.providers.databricks.hooks.databricks_base import BaseDatabricksHoo
 if TYPE_CHECKING:
     from databricks.sql.client import Connection
 
+    from airflow.models.connection import Connection as AirflowConnection
+
 
 LIST_SQL_ENDPOINTS_ENDPOINT = ("GET", "api/2.0/sql/endpoints")
 
@@ -167,7 +168,7 @@ class DatabricksSqlHook(BaseDatabricksHook, DbApiHook):
 
         if self._sql_conn is None:
             raise AirflowException("SQL connection is not initialized")
-        return cast(AirflowConnection, self._sql_conn)
+        return cast("AirflowConnection", self._sql_conn)
 
     @overload  # type: ignore[override]
     def run(
@@ -295,11 +296,11 @@ class DatabricksSqlHook(BaseDatabricksHook, DbApiHook):
                 return []
             rows_fields = tuple(rows[0].__fields__)
             rows_object = namedtuple("Row", rows_fields, rename=True)  # type: ignore
-            return cast(list[tuple[Any, ...]], [rows_object(*row) for row in rows])
+            return cast("list[tuple[Any, ...]]", [rows_object(*row) for row in rows])
         elif isinstance(result, Row):
             row_fields = tuple(result.__fields__)
             row_object = namedtuple("Row", row_fields, rename=True)  # type: ignore
-            return cast(tuple[Any, ...], row_object(*result))
+            return cast("tuple[Any, ...]", row_object(*result))
         else:
             raise TypeError(f"Expected Sequence[Row] or Row, but got {type(result)}")
 
diff --git a/providers/databricks/src/airflow/providers/databricks/utils/databricks.py b/providers/databricks/src/airflow/providers/databricks/utils/databricks.py
index 88d622c3bc1..8b0fcad654f 100644
--- a/providers/databricks/src/airflow/providers/databricks/utils/databricks.py
+++ b/providers/databricks/src/airflow/providers/databricks/utils/databricks.py
@@ -63,4 +63,4 @@ def validate_trigger_event(event: dict):
     try:
         RunState.from_json(event["run_state"])
     except Exception:
-        raise AirflowException(f'Run state returned by the Trigger is incorrect: {event["run_state"]}')
+        raise AirflowException(f"Run state returned by the Trigger is incorrect: {event['run_state']}")
diff --git a/providers/databricks/tests/unit/databricks/operators/test_databricks.py b/providers/databricks/tests/unit/databricks/operators/test_databricks.py
index 51e7a765998..298c2aecd47 100644
--- a/providers/databricks/tests/unit/databricks/operators/test_databricks.py
+++ b/providers/databricks/tests/unit/databricks/operators/test_databricks.py
@@ -2013,9 +2013,9 @@ class TestDatabricksNotebookOperator:
 
         with pytest.raises(TaskDeferred) as exec_info:
             operator.monitor_databricks_job()
-        assert isinstance(
-            exec_info.value.trigger, DatabricksExecutionTrigger
-        ), "Trigger is not a DatabricksExecutionTrigger"
+        assert isinstance(exec_info.value.trigger, DatabricksExecutionTrigger), (
+            "Trigger is not a DatabricksExecutionTrigger"
+        )
         assert exec_info.value.method_name == "execute_complete"
 
     @mock.patch("airflow.providers.databricks.operators.databricks.DatabricksHook")
diff --git a/providers/dbt/cloud/src/airflow/providers/dbt/cloud/hooks/dbt.py b/providers/dbt/cloud/src/airflow/providers/dbt/cloud/hooks/dbt.py
index 66967654fb3..2f5ee59b2d2 100644
--- a/providers/dbt/cloud/src/airflow/providers/dbt/cloud/hooks/dbt.py
+++ b/providers/dbt/cloud/src/airflow/providers/dbt/cloud/hooks/dbt.py
@@ -166,7 +166,7 @@ def provide_account_id(func: T) -> T:
 
         return await func(*bound_args.args, **bound_args.kwargs)
 
-    return cast(T, wrapper)
+    return cast("T", wrapper)
 
 
 class DbtCloudHook(HttpHook):
@@ -569,8 +569,7 @@ class DbtCloudHook(HttpHook):
 
         if cause is not None and len(cause) > DBT_CAUSE_MAX_LENGTH:
             warnings.warn(
-                f"Cause `{cause}` exceeds limit of {DBT_CAUSE_MAX_LENGTH}"
-                f" characters and will be truncated.",
+                f"Cause `{cause}` exceeds limit of {DBT_CAUSE_MAX_LENGTH} characters and will be truncated.",
                 UserWarning,
                 stacklevel=2,
             )
diff --git a/providers/docker/src/airflow/providers/docker/decorators/docker.py b/providers/docker/src/airflow/providers/docker/decorators/docker.py
index 69ef22e91bb..ff15c93f3e0 100644
--- a/providers/docker/src/airflow/providers/docker/decorators/docker.py
+++ b/providers/docker/src/airflow/providers/docker/decorators/docker.py
@@ -132,8 +132,7 @@ class _DockerDecoratedOperator(DecoratedOperator, DockerOperator):
         serializer = serializer or "pickle"
         if serializer not in _SERIALIZERS:
             msg = (
-                f"Unsupported serializer {serializer!r}. "
-                f"Expected one of {', '.join(map(repr, _SERIALIZERS))}"
+                f"Unsupported serializer {serializer!r}. Expected one of {', '.join(map(repr, _SERIALIZERS))}"
             )
             raise AirflowException(msg)
 
@@ -148,9 +147,10 @@ class _DockerDecoratedOperator(DecoratedOperator, DockerOperator):
 
     def generate_command(self):
         return (
-            f"""bash -cx  '{_generate_decode_command("__PYTHON_SCRIPT", "/tmp/script.py",
-                                                     self.python_command)} &&"""
-            f'{_generate_decode_command("__PYTHON_INPUT", "/tmp/script.in", self.python_command)} &&'
+            f"""bash -cx  '{
+                _generate_decode_command("__PYTHON_SCRIPT", "/tmp/script.py", self.python_command)
+            } &&"""
+            f"{_generate_decode_command('__PYTHON_INPUT', '/tmp/script.in', self.python_command)} &&"
             f"{self.python_command} /tmp/script.py /tmp/script.in /tmp/script.out none /tmp/script.out'"
         )
 
diff --git a/providers/docker/tests/unit/docker/operators/test_docker.py b/providers/docker/tests/unit/docker/operators/test_docker.py
index 50ff7e4f553..e1116d6ff55 100644
--- a/providers/docker/tests/unit/docker/operators/test_docker.py
+++ b/providers/docker/tests/unit/docker/operators/test_docker.py
@@ -473,9 +473,9 @@ class TestDockerOperator:
         operator = DockerOperator(
             private_environment={"PRIVATE": "MESSAGE"}, image=TEST_IMAGE, task_id="unittest"
         )
-        assert operator._private_environment == {
-            "PRIVATE": "MESSAGE"
-        }, "To keep this private, it must be an underscored attribute."
+        assert operator._private_environment == {"PRIVATE": "MESSAGE"}, (
+            "To keep this private, it must be an underscored attribute."
+        )
 
     @mock.patch("airflow.providers.docker.operators.docker.StringIO")
     def test_environment_overrides_env_file(self, stringio_mock):
diff --git a/providers/docker/tests/unit/docker/operators/test_docker_swarm.py b/providers/docker/tests/unit/docker/operators/test_docker_swarm.py
index 5b4190ec5d4..5e1f69096c6 100644
--- a/providers/docker/tests/unit/docker/operators/test_docker_swarm.py
+++ b/providers/docker/tests/unit/docker/operators/test_docker_swarm.py
@@ -210,9 +210,9 @@ class TestDockerSwarmOperator:
         )
         operator.execute(None)
 
-        assert (
-            client_mock.remove_service.call_count == 0
-        ), "Docker service being removed even when `auto_remove` set to `never`"
+        assert client_mock.remove_service.call_count == 0, (
+            "Docker service being removed even when `auto_remove` set to `never`"
+        )
 
     @pytest.mark.parametrize("status", ["failed", "shutdown", "rejected", "orphaned", "remove"])
     @mock.patch("airflow.providers.docker.operators.docker_swarm.types")
diff --git a/providers/edge/src/airflow/providers/edge/cli/edge_command.py b/providers/edge/src/airflow/providers/edge/cli/edge_command.py
index f10f7daf8d6..c2d49d0c8d7 100644
--- a/providers/edge/src/airflow/providers/edge/cli/edge_command.py
+++ b/providers/edge/src/airflow/providers/edge/cli/edge_command.py
@@ -544,8 +544,8 @@ def maintenance(args):
     marker_path.write_text(
         MaintenanceMarker(
             maintenance=args.maintenance,
-            comments=f'[{datetime.now().strftime("%Y-%m-%d %H:%M")}] - {getuser()} put '
-            f'node into maintenance mode via cli\nComment: {args.comments}'
+            comments=f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {getuser()} put "
+            f"node into maintenance mode via cli\nComment: {args.comments}"
             if args.maintenance == "on"
             else None,
         ).json
diff --git a/providers/edge/src/airflow/providers/edge/plugins/edge_executor_plugin.py b/providers/edge/src/airflow/providers/edge/plugins/edge_executor_plugin.py
index 1158a28e226..59d3ef5cdb7 100644
--- a/providers/edge/src/airflow/providers/edge/plugins/edge_executor_plugin.py
+++ b/providers/edge/src/airflow/providers/edge/plugins/edge_executor_plugin.py
@@ -102,17 +102,17 @@ def modify_maintenance_comment_on_update(maintenance_comment: str | None, userna
         ):
             return re.sub(
                 r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:",
-                f'[{datetime.now().strftime("%Y-%m-%d %H:%M")}] - {username} updated maintenance mode\nComment:',
+                f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:",
                 maintenance_comment,
             )
         elif re.search(r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:.*", maintenance_comment):
             return re.sub(
                 r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:",
-                f'[{datetime.now().strftime("%Y-%m-%d %H:%M")}] - {username} updated maintenance mode\nComment:',
+                f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:",
                 maintenance_comment,
             )
-        return f'[{datetime.now().strftime("%Y-%m-%d %H:%M")}] - {username} updated maintenance mode\nComment: {maintenance_comment}'
-    return f'[{datetime.now().strftime("%Y-%m-%d %H:%M")}] - {username} updated maintenance mode\nComment:'
+        return f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment: {maintenance_comment}"
+    return f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:"
 
 
 # registers airflow/providers/edge/plugins/templates as a Jinja template folder
@@ -164,7 +164,7 @@ class EdgeWorkerHosts(BaseView):
         from airflow.providers.edge.models.edge_worker import request_maintenance
 
         maintenance_comment = request.form.get("maintenance_comment")
-        maintenance_comment = f'[{datetime.now().strftime("%Y-%m-%d %H:%M")}] - {current_user.username} put node into maintenance mode\nComment: {maintenance_comment}'
+        maintenance_comment = f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {current_user.username} put node into maintenance mode\nComment: {maintenance_comment}"
         request_maintenance(worker_name, maintenance_comment)
         return redirect(url_for("EdgeWorkerHosts.status"))
 
diff --git a/providers/edge/src/airflow/providers/edge/worker_api/routes/logs.py b/providers/edge/src/airflow/providers/edge/worker_api/routes/logs.py
index 8a1b50ae026..a61ac1ed3dd 100644
--- a/providers/edge/src/airflow/providers/edge/worker_api/routes/logs.py
+++ b/providers/edge/src/airflow/providers/edge/worker_api/routes/logs.py
@@ -35,6 +35,7 @@ from airflow.providers.edge.worker_api.routes._v2_compat import (
     create_openapi_http_exception_doc,
     status,
 )
+from airflow.utils.log.file_task_handler import FileTaskHandler
 from airflow.utils.session import NEW_SESSION, provide_session
 
 logs_router = AirflowRouter(tags=["Logs"], prefix="/logs")
@@ -44,8 +45,6 @@ logs_router = AirflowRouter(tags=["Logs"], prefix="/logs")
 @provide_session
 def _logfile_path(task: TaskInstanceKey, session=NEW_SESSION) -> str:
     """Elaborate the (relative) path and filename to expect from task execution."""
-    from airflow.utils.log.file_task_handler import FileTaskHandler
-
     ti = TaskInstance.get_task_instance(
         dag_id=task.dag_id,
         run_id=task.run_id,
diff --git a/providers/fab/src/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py b/providers/fab/src/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py
index 5f3ab3a2e1b..c71f5ebed92 100644
--- a/providers/fab/src/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py
+++ b/providers/fab/src/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py
@@ -26,9 +26,9 @@ from flask_appbuilder.const import AUTH_LDAP
 from flask_login import login_user
 
 from airflow.api_fastapi.app import get_auth_manager
-from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
 
 if TYPE_CHECKING:
+    from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
     from airflow.providers.fab.auth_manager.models import User
 
 CLIENT_AUTH: tuple[str, str] | Any | None = None
@@ -45,8 +45,7 @@ def auth_current_user() -> User | None:
     auth = request.authorization
     if auth is None or not auth.username or not auth.password:
         return None
-
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
     user = None
     if security_manager.auth_type == AUTH_LDAP:
         user = security_manager.auth_user_ldap(auth.username, auth.password)
@@ -67,4 +66,4 @@ def requires_authentication(function: T):
         else:
             return Response("Unauthorized", 401, {"WWW-Authenticate": "Basic"})
 
-    return cast(T, decorated)
+    return cast("T", decorated)
diff --git a/providers/fab/src/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py b/providers/fab/src/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py
index 3955ac45895..769b70bae75 100644
--- a/providers/fab/src/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py
+++ b/providers/fab/src/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py
@@ -28,11 +28,11 @@ from requests_kerberos import HTTPKerberosAuth
 
 from airflow.api_fastapi.app import get_auth_manager
 from airflow.configuration import conf
-from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
 from airflow.utils.net import getfqdn
 
 if TYPE_CHECKING:
     from airflow.api_fastapi.auth.managers.models.base_user import BaseUser
+    from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
 
 log = logging.getLogger(__name__)
 
@@ -115,7 +115,7 @@ T = TypeVar("T", bound=Callable)
 
 
 def find_user(username=None, email=None):
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
     return security_manager.find_user(username=username, email=email)
 
 
@@ -143,4 +143,4 @@ def requires_authentication(function: T, find_user: Callable[[str], BaseUser] |
                 return _forbidden()
         return _unauthorized()
 
-    return cast(T, decorated)
+    return cast("T", decorated)
diff --git a/providers/fab/src/airflow/providers/fab/auth_manager/api/auth/backend/session.py b/providers/fab/src/airflow/providers/fab/auth_manager/api/auth/backend/session.py
index 9ff1b89eefa..8b39c0e8f77 100644
--- a/providers/fab/src/airflow/providers/fab/auth_manager/api/auth/backend/session.py
+++ b/providers/fab/src/airflow/providers/fab/auth_manager/api/auth/backend/session.py
@@ -44,4 +44,4 @@ def requires_authentication(function: T):
             return Response("Unauthorized", 401, {})
         return function(*args, **kwargs)
 
-    return cast(T, decorated)
+    return cast("T", decorated)
diff --git a/providers/fab/src/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py b/providers/fab/src/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py
index 1200790b89f..e8aacedea8c 100644
--- a/providers/fab/src/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py
+++ b/providers/fab/src/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py
@@ -25,7 +25,6 @@ from marshmallow import ValidationError
 from sqlalchemy import asc, desc, func, select
 
 from airflow.api_fastapi.app import get_auth_manager
-from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
 from airflow.providers.fab.auth_manager.models import Action, Role
 from airflow.providers.fab.auth_manager.schemas.role_and_permission_schema import (
     ActionCollection,
@@ -40,6 +39,7 @@ from airflow.providers.fab.www.api_connexion.security import requires_access_cus
 from airflow.providers.fab.www.security import permissions
 
 if TYPE_CHECKING:
+    from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
     from airflow.providers.fab.auth_manager.security_manager.override import FabAirflowSecurityManagerOverride
     from airflow.providers.fab.www.api_connexion.types import APIResponse, UpdateMask
 
@@ -60,7 +60,7 @@ def _check_action_and_resource(sm: FabAirflowSecurityManagerOverride, perms: lis
 @requires_access_custom_view("GET", permissions.RESOURCE_ROLE)
 def get_role(*, role_name: str) -> APIResponse:
     """Get role."""
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
     role = security_manager.find_role(name=role_name)
     if not role:
         raise NotFound(title="Role not found", detail=f"Role with name {role_name!r} was not found")
@@ -71,7 +71,7 @@ def get_role(*, role_name: str) -> APIResponse:
 @format_parameters({"limit": check_limit})
 def get_roles(*, order_by: str = "name", limit: int, offset: int | None = None) -> APIResponse:
     """Get roles."""
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
     session = security_manager.get_session
     total_entries = session.scalars(select(func.count(Role.id))).one()
     direction = desc if order_by.startswith("-") else asc
@@ -81,8 +81,7 @@ def get_roles(*, order_by: str = "name", limit: int, offset: int | None = None)
     allowed_sort_attrs = ["role_id", "name"]
     if order_by not in allowed_sort_attrs:
         raise BadRequest(
-            detail=f"Ordering with '{order_by}' is disallowed or "
-            f"the attribute does not exist on the model"
+            detail=f"Ordering with '{order_by}' is disallowed or the attribute does not exist on the model"
         )
 
     query = select(Role)
@@ -99,7 +98,7 @@ def get_roles(*, order_by: str = "name", limit: int, offset: int | None = None)
 @format_parameters({"limit": check_limit})
 def get_permissions(*, limit: int, offset: int | None = None) -> APIResponse:
     """Get permissions."""
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
     session = security_manager.get_session
     total_entries = session.scalars(select(func.count(Action.id))).one()
     query = select(Action)
@@ -110,7 +109,7 @@ def get_permissions(*, limit: int, offset: int | None = None) -> APIResponse:
 @requires_access_custom_view("DELETE", permissions.RESOURCE_ROLE)
 def delete_role(*, role_name: str) -> APIResponse:
     """Delete a role."""
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
 
     role = security_manager.find_role(name=role_name)
     if not role:
@@ -122,7 +121,7 @@ def delete_role(*, role_name: str) -> APIResponse:
 @requires_access_custom_view("PUT", permissions.RESOURCE_ROLE)
 def patch_role(*, role_name: str, update_mask: UpdateMask = None) -> APIResponse:
     """Update a role."""
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
     body = request.json
     try:
         data = role_schema.load(body)
@@ -155,7 +154,7 @@ def patch_role(*, role_name: str, update_mask: UpdateMask = None) -> APIResponse
 @requires_access_custom_view("POST", permissions.RESOURCE_ROLE)
 def post_role() -> APIResponse:
     """Create a new role."""
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
     body = request.json
     try:
         data = role_schema.load(body)
diff --git a/providers/fab/src/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py b/providers/fab/src/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py
index ca0fc747e40..8c504d64466 100644
--- a/providers/fab/src/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py
+++ b/providers/fab/src/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py
@@ -26,7 +26,6 @@ from sqlalchemy import asc, desc, func, select
 from werkzeug.security import generate_password_hash
 
 from airflow.api_fastapi.app import get_auth_manager
-from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
 from airflow.providers.fab.auth_manager.models import User
 from airflow.providers.fab.auth_manager.schemas.user_schema import (
     UserCollection,
@@ -40,6 +39,7 @@ from airflow.providers.fab.www.api_connexion.security import requires_access_cus
 from airflow.providers.fab.www.security import permissions
 
 if TYPE_CHECKING:
+    from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
     from airflow.providers.fab.auth_manager.models import Role
     from airflow.providers.fab.www.api_connexion.types import APIResponse, UpdateMask
 
@@ -47,7 +47,7 @@ if TYPE_CHECKING:
 @requires_access_custom_view("GET", permissions.RESOURCE_USER)
 def get_user(*, username: str) -> APIResponse:
     """Get a user."""
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
     user = security_manager.find_user(username=username)
     if not user:
         raise NotFound(title="User not found", detail=f"The User with username `{username}` was not found")
@@ -58,7 +58,7 @@ def get_user(*, username: str) -> APIResponse:
 @format_parameters({"limit": check_limit})
 def get_users(*, limit: int, order_by: str = "id", offset: str | None = None) -> APIResponse:
     """Get users."""
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
     session = security_manager.get_session
     total_entries = session.execute(select(func.count(User.id))).scalar()
     direction = desc if order_by.startswith("-") else asc
@@ -76,8 +76,7 @@ def get_users(*, limit: int, order_by: str = "id", offset: str | None = None) ->
     ]
     if order_by not in allowed_sort_attrs:
         raise BadRequest(
-            detail=f"Ordering with '{order_by}' is disallowed or "
-            f"the attribute does not exist on the model"
+            detail=f"Ordering with '{order_by}' is disallowed or the attribute does not exist on the model"
         )
 
     query = select(User).order_by(direction(getattr(User, order_param))).offset(offset).limit(limit)
@@ -94,7 +93,7 @@ def post_user() -> APIResponse:
     except ValidationError as e:
         raise BadRequest(detail=str(e.messages))
 
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
     username = data["username"]
     email = data["email"]
 
@@ -137,7 +136,7 @@ def patch_user(*, username: str, update_mask: UpdateMask = None) -> APIResponse:
     except ValidationError as e:
         raise BadRequest(detail=str(e.messages))
 
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
 
     user = security_manager.find_user(username=username)
     if user is None:
@@ -201,7 +200,7 @@ def patch_user(*, username: str, update_mask: UpdateMask = None) -> APIResponse:
 @requires_access_custom_view("DELETE", permissions.RESOURCE_USER)
 def delete_user(*, username: str) -> APIResponse:
     """Delete a user."""
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
 
     user = security_manager.find_user(username=username)
     if user is None:
diff --git a/providers/fab/src/airflow/providers/fab/auth_manager/api_fastapi/services/login.py b/providers/fab/src/airflow/providers/fab/auth_manager/api_fastapi/services/login.py
index 05f24e2d02b..99e057575a7 100644
--- a/providers/fab/src/airflow/providers/fab/auth_manager/api_fastapi/services/login.py
+++ b/providers/fab/src/airflow/providers/fab/auth_manager/api_fastapi/services/login.py
@@ -24,9 +24,9 @@ from starlette.exceptions import HTTPException
 from airflow.api_fastapi.app import get_auth_manager
 from airflow.configuration import conf
 from airflow.providers.fab.auth_manager.api_fastapi.datamodels.login import LoginBody, LoginResponse
-from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
 
 if TYPE_CHECKING:
+    from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
     from airflow.providers.fab.auth_manager.models import User
 
 
@@ -43,7 +43,7 @@ class FABAuthManagerLogin:
                 status_code=status.HTTP_400_BAD_REQUEST, detail="Username and password must be provided"
             )
 
-        auth_manager = cast(FabAuthManager, get_auth_manager())
+        auth_manager = cast("FabAuthManager", get_auth_manager())
         user: User = auth_manager.security_manager.find_user(username=body.username)
         if not user:
             raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid username")
diff --git a/providers/fab/src/airflow/providers/fab/auth_manager/cli_commands/utils.py b/providers/fab/src/airflow/providers/fab/auth_manager/cli_commands/utils.py
index badd7fd08ae..36ced77e80b 100644
--- a/providers/fab/src/airflow/providers/fab/auth_manager/cli_commands/utils.py
+++ b/providers/fab/src/airflow/providers/fab/auth_manager/cli_commands/utils.py
@@ -59,7 +59,7 @@ def get_application_builder() -> Generator[AirflowAppBuilder, None, None]:
         url = make_url(flask_app.config["SQLALCHEMY_DATABASE_URI"])
         if url.drivername == "sqlite" and url.database and not isabs(url.database):
             raise AirflowConfigException(
-                f'Cannot use relative path: `{conf.get("database", "SQL_ALCHEMY_CONN")}` to connect to sqlite. '
+                f"Cannot use relative path: `{conf.get('database', 'SQL_ALCHEMY_CONN')}` to connect to sqlite. "
                 "Please use absolute path such as `sqlite:////tmp/airflow.db`."
             )
         flask_app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
diff --git a/providers/fab/src/airflow/providers/fab/www/api_connexion/parameters.py b/providers/fab/src/airflow/providers/fab/www/api_connexion/parameters.py
index 8edb8efa7bb..f60f2dce23b 100644
--- a/providers/fab/src/airflow/providers/fab/www/api_connexion/parameters.py
+++ b/providers/fab/src/airflow/providers/fab/www/api_connexion/parameters.py
@@ -104,7 +104,7 @@ def format_parameters(params_formatters: dict[str, Callable[[Any], Any]]) -> Cal
                     kwargs[key] = formatter(kwargs[key])
             return func(*args, **kwargs)
 
-        return cast(T, wrapped_function)
+        return cast("T", wrapped_function)
 
     return format_parameters_decorator
 
diff --git a/providers/fab/src/airflow/providers/fab/www/api_connexion/security.py b/providers/fab/src/airflow/providers/fab/www/api_connexion/security.py
index 2a4a67cdd9a..f238e9de9b3 100644
--- a/providers/fab/src/airflow/providers/fab/www/api_connexion/security.py
+++ b/providers/fab/src/airflow/providers/fab/www/api_connexion/security.py
@@ -22,18 +22,18 @@ from typing import TYPE_CHECKING, Callable, TypeVar, cast
 from flask import Response, current_app
 
 from airflow.api_fastapi.app import get_auth_manager
-from airflow.providers.fab.www.airflow_flask_app import AirflowApp
 from airflow.providers.fab.www.api_connexion.exceptions import PermissionDenied, Unauthenticated
 
 if TYPE_CHECKING:
     from airflow.api_fastapi.auth.managers.base_auth_manager import ResourceMethod
+    from airflow.providers.fab.www.airflow_flask_app import AirflowApp
 
 T = TypeVar("T", bound=Callable)
 
 
 def check_authentication() -> None:
     """Check that the request has valid authorization information."""
-    for auth in cast(AirflowApp, current_app).api_auth:
+    for auth in cast("AirflowApp", current_app).api_auth:
         response = auth.requires_authentication(Response)()
         if response.status_code == 200:
             return
@@ -79,6 +79,6 @@ def requires_access_custom_view(
                 kwargs=kwargs,
             )
 
-        return cast(T, decorated)
+        return cast("T", decorated)
 
     return requires_access_decorator
diff --git a/providers/fab/src/airflow/providers/fab/www/app.py b/providers/fab/src/airflow/providers/fab/www/app.py
index 22e164e1c8c..f96451a6275 100644
--- a/providers/fab/src/airflow/providers/fab/www/app.py
+++ b/providers/fab/src/airflow/providers/fab/www/app.py
@@ -60,7 +60,7 @@ def create_app(enable_plugins: bool):
     url = make_url(flask_app.config["SQLALCHEMY_DATABASE_URI"])
     if url.drivername == "sqlite" and url.database and not isabs(url.database):
         raise AirflowConfigException(
-            f'Cannot use relative path: `{conf.get("database", "SQL_ALCHEMY_CONN")}` to connect to sqlite. '
+            f"Cannot use relative path: `{conf.get('database', 'SQL_ALCHEMY_CONN')}` to connect to sqlite. "
             "Please use absolute path such as `sqlite:////tmp/airflow.db`."
         )
 
diff --git a/providers/fab/src/airflow/providers/fab/www/auth.py b/providers/fab/src/airflow/providers/fab/www/auth.py
index cd6998c1e35..c4bb1b3701c 100644
--- a/providers/fab/src/airflow/providers/fab/www/auth.py
+++ b/providers/fab/src/airflow/providers/fab/www/auth.py
@@ -121,7 +121,7 @@ def _has_access_no_details(is_authorized_callback: Callable[[], bool]) -> Callab
                 kwargs=kwargs,
             )
 
-        return cast(T, decorated)
+        return cast("T", decorated)
 
     return has_access_decorator
 
@@ -189,7 +189,7 @@ def has_access_connection(method: ResourceMethod) -> Callable[[T], T]:
                 kwargs=kwargs,
             )
 
-        return cast(T, decorated)
+        return cast("T", decorated)
 
     return has_access_decorator
 
@@ -240,7 +240,7 @@ def has_access_dag(method: ResourceMethod, access_entity: DagAccessEntity | None
                 kwargs=kwargs,
             )
 
-        return cast(T, decorated)
+        return cast("T", decorated)
 
     return has_access_decorator
 
@@ -269,7 +269,7 @@ def has_access_dag_entities(method: ResourceMethod, access_entity: DagAccessEnti
                 kwargs=kwargs,
             )
 
-        return cast(T, decorated)
+        return cast("T", decorated)
 
     return has_access_decorator
 
@@ -303,7 +303,7 @@ def has_access_pool(method: ResourceMethod) -> Callable[[T], T]:
                 kwargs=kwargs,
             )
 
-        return cast(T, decorated)
+        return cast("T", decorated)
 
     return has_access_decorator
 
@@ -336,7 +336,7 @@ def has_access_variable(method: ResourceMethod) -> Callable[[T], T]:
                 kwargs=kwargs,
             )
 
-        return cast(T, decorated)
+        return cast("T", decorated)
 
     return has_access_decorator
 
diff --git a/providers/fab/tests/unit/fab/auth_manager/api_endpoints/remote_user_api_auth_backend.py b/providers/fab/tests/unit/fab/auth_manager/api_endpoints/remote_user_api_auth_backend.py
index 97f8a600d02..247bb168fd0 100644
--- a/providers/fab/tests/unit/fab/auth_manager/api_endpoints/remote_user_api_auth_backend.py
+++ b/providers/fab/tests/unit/fab/auth_manager/api_endpoints/remote_user_api_auth_backend.py
@@ -27,11 +27,12 @@ from flask import Response, request
 from flask_login import login_user
 
 from airflow.api_fastapi.app import get_auth_manager
-from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
 
 if TYPE_CHECKING:
     from requests.auth import AuthBase
 
+    from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
+
 log = logging.getLogger(__name__)
 
 CLIENT_AUTH: tuple[str, str] | AuthBase | None = None
@@ -45,7 +46,7 @@ T = TypeVar("T", bound=Callable)
 
 
 def _lookup_user(user_email_or_username: str):
-    security_manager = cast(FabAuthManager, get_auth_manager()).security_manager
+    security_manager = cast("FabAuthManager", get_auth_manager()).security_manager
     user = security_manager.find_user(email=user_email_or_username) or security_manager.find_user(
         username=user_email_or_username
     )
@@ -79,4 +80,4 @@ def requires_authentication(function: T):
         login_user(user, remember=False)
         return function(*args, **kwargs)
 
-    return cast(T, decorated)
+    return cast("T", decorated)
diff --git a/providers/fab/tests/unit/fab/auth_manager/cli_commands/test_user_command.py b/providers/fab/tests/unit/fab/auth_manager/cli_commands/test_user_command.py
index cf6be6f0d88..eb785e303cd 100644
--- a/providers/fab/tests/unit/fab/auth_manager/cli_commands/test_user_command.py
+++ b/providers/fab/tests/unit/fab/auth_manager/cli_commands/test_user_command.py
@@ -398,9 +398,9 @@ class TestCliUsers:
             user_command.users_manage_role(args, remove=False)
         assert 'User "test4" added to role "Op"' in stdout.getvalue()
 
-        assert _does_user_belong_to_role(
-            appbuilder=self.appbuilder, email=TEST_USER1_EMAIL, rolename="Op"
-        ), "User should have been added to role 'Op'"
+        assert _does_user_belong_to_role(appbuilder=self.appbuilder, email=TEST_USER1_EMAIL, rolename="Op"), (
+            "User should have been added to role 'Op'"
+        )
 
     def test_cli_remove_user_role(self, create_user_test4):
         assert _does_user_belong_to_role(
diff --git a/providers/google/src/airflow/providers/google/cloud/hooks/bigquery.py b/providers/google/src/airflow/providers/google/cloud/hooks/bigquery.py
index f4beb819a2c..af41a07f1db 100644
--- a/providers/google/src/airflow/providers/google/cloud/hooks/bigquery.py
+++ b/providers/google/src/airflow/providers/google/cloud/hooks/bigquery.py
@@ -56,7 +56,6 @@ from google.cloud.exceptions import NotFound
 from googleapiclient.discovery import build
 from pandas_gbq import read_gbq
 from pandas_gbq.gbq import GbqConnector  # noqa: F401 used in ``airflow.contrib.hooks.bigquery``
-from requests import Session
 from sqlalchemy import create_engine
 
 from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
@@ -80,6 +79,7 @@ if TYPE_CHECKING:
     import pandas as pd
     from google.api_core.page_iterator import HTTPIterator
     from google.api_core.retry import Retry
+    from requests import Session
 
 log = logging.getLogger(__name__)
 
@@ -2116,7 +2116,7 @@ class BigQueryAsyncHook(GoogleBaseAsyncHook):
             job_id=job_id,
             project=project_id,
             token=token,
-            session=cast(Session, session),
+            session=cast("Session", session),
         )
 
     async def _get_job(
@@ -2181,7 +2181,7 @@ class BigQueryAsyncHook(GoogleBaseAsyncHook):
         async with ClientSession() as session:
             self.log.info("Executing get_job_output..")
             job_client = await self.get_job_instance(project_id, job_id, session)
-            job_query_response = await job_client.get_query_results(cast(Session, session))
+            job_query_response = await job_client.get_query_results(cast("Session", session))
             return job_query_response
 
     async def create_job_for_partition_get(
@@ -2201,7 +2201,7 @@ class BigQueryAsyncHook(GoogleBaseAsyncHook):
                 + (f" WHERE table_name='{table_id}'" if table_id else ""),
                 "useLegacySql": False,
             }
-            job_query_resp = await job_client.query(query_request, cast(Session, session))
+            job_query_resp = await job_client.query(query_request, cast("Session", session))
             return job_query_resp["jobReference"]["jobId"]
 
     async def cancel_job(self, job_id: str, project_id: str | None, location: str | None) -> None:
@@ -2381,12 +2381,7 @@ class BigQueryAsyncHook(GoogleBaseAsyncHook):
                 test_results[metric] = float(ratios[metric]) < threshold
 
             self.log.info(
-                (
-                    "Current metric for %s: %s\n"
-                    "Past metric for %s: %s\n"
-                    "Ratio for %s: %s\n"
-                    "Threshold: %s\n"
-                ),
+                ("Current metric for %s: %s\nPast metric for %s: %s\nRatio for %s: %s\nThreshold: %s\n"),
                 metric,
                 cur,
                 metric,
@@ -2451,5 +2446,5 @@ class BigQueryTableAsyncHook(GoogleBaseAsyncHook):
             table_name=table_id,
             project=project_id,
             token=token,
-            session=cast(Session, session),
+            session=cast("Session", session),
         )
diff --git a/providers/google/src/airflow/providers/google/cloud/hooks/cloud_batch.py b/providers/google/src/airflow/providers/google/cloud/hooks/cloud_batch.py
index c647ac078ab..c50c8b6ce28 100644
--- a/providers/google/src/airflow/providers/google/cloud/hooks/cloud_batch.py
+++ b/providers/google/src/airflow/providers/google/cloud/hooks/cloud_batch.py
@@ -155,8 +155,7 @@ class CloudBatchHook(GoogleBaseHook):
                     raise AirflowException(message)
                 elif status == JobStatus.State.DELETION_IN_PROGRESS:
                     message = (
-                        "Unexpected error in the operation: "
-                        "Batch job with name {job_name} is being deleted."
+                        "Unexpected error in the operation: Batch job with name {job_name} is being deleted."
                     )
                     raise AirflowException(message)
                 else:
diff --git a/providers/google/src/airflow/providers/google/cloud/hooks/dataflow.py b/providers/google/src/airflow/providers/google/cloud/hooks/dataflow.py
index ab26ccc38d6..e508d629937 100644
--- a/providers/google/src/airflow/providers/google/cloud/hooks/dataflow.py
+++ b/providers/google/src/airflow/providers/google/cloud/hooks/dataflow.py
@@ -136,7 +136,7 @@ def _fallback_variable_parameter(parameter_name: str, variable_key_name: str) ->
 
             return func(self, *args, **kwargs)
 
-        return cast(T, inner_wrapper)
+        return cast("T", inner_wrapper)
 
     return _wrapper
 
@@ -1271,7 +1271,7 @@ class DataflowHook(GoogleBaseHook):
                 AirflowProviderDeprecationWarning,
                 stacklevel=3,
             )
-            on_new_job_id_callback(cast(str, job.get("id")))
+            on_new_job_id_callback(cast("str", job.get("id")))
 
         if on_new_job_callback:
             on_new_job_callback(job)
diff --git a/providers/google/src/airflow/providers/google/cloud/hooks/dataform.py b/providers/google/src/airflow/providers/google/cloud/hooks/dataform.py
index c921b56c6fe..d29b346e84c 100644
--- a/providers/google/src/airflow/providers/google/cloud/hooks/dataform.py
+++ b/providers/google/src/airflow/providers/google/cloud/hooks/dataform.py
@@ -453,8 +453,7 @@ class DataformHook(GoogleBaseHook):
         """
         client = self.get_dataform_client()
         workspace_path = (
-            f"projects/{project_id}/locations/{region}/"
-            f"repositories/{repository_id}/workspaces/{workspace_id}"
+            f"projects/{project_id}/locations/{region}/repositories/{repository_id}/workspaces/{workspace_id}"
         )
         request = {
             "name": workspace_path,
@@ -496,8 +495,7 @@ class DataformHook(GoogleBaseHook):
         """
         client = self.get_dataform_client()
         workspace_path = (
-            f"projects/{project_id}/locations/{region}/"
-            f"repositories/{repository_id}/workspaces/{workspace_id}"
+            f"projects/{project_id}/locations/{region}/repositories/{repository_id}/workspaces/{workspace_id}"
         )
         request = {
             "workspace": workspace_path,
@@ -542,8 +540,7 @@ class DataformHook(GoogleBaseHook):
         """
         client = self.get_dataform_client()
         workspace_path = (
-            f"projects/{project_id}/locations/{region}/"
-            f"repositories/{repository_id}/workspaces/{workspace_id}"
+            f"projects/{project_id}/locations/{region}/repositories/{repository_id}/workspaces/{workspace_id}"
         )
         request = {
             "workspace": workspace_path,
@@ -587,8 +584,7 @@ class DataformHook(GoogleBaseHook):
         """
         client = self.get_dataform_client()
         workspace_path = (
-            f"projects/{project_id}/locations/{region}/"
-            f"repositories/{repository_id}/workspaces/{workspace_id}"
+            f"projects/{project_id}/locations/{region}/repositories/{repository_id}/workspaces/{workspace_id}"
         )
         request = {
             "workspace": workspace_path,
@@ -629,8 +625,7 @@ class DataformHook(GoogleBaseHook):
         """
         client = self.get_dataform_client()
         workspace_path = (
-            f"projects/{project_id}/locations/{region}/"
-            f"repositories/{repository_id}/workspaces/{workspace_id}"
+            f"projects/{project_id}/locations/{region}/repositories/{repository_id}/workspaces/{workspace_id}"
         )
         request = {
             "workspace": workspace_path,
@@ -671,8 +666,7 @@ class DataformHook(GoogleBaseHook):
         """
         client = self.get_dataform_client()
         workspace_path = (
-            f"projects/{project_id}/locations/{region}/"
-            f"repositories/{repository_id}/workspaces/{workspace_id}"
+            f"projects/{project_id}/locations/{region}/repositories/{repository_id}/workspaces/{workspace_id}"
         )
         request = {
             "workspace": workspace_path,
diff --git a/providers/google/src/airflow/providers/google/cloud/hooks/datafusion.py b/providers/google/src/airflow/providers/google/cloud/hooks/datafusion.py
index 89a4986adfd..66e073e375c 100644
--- a/providers/google/src/airflow/providers/google/cloud/hooks/datafusion.py
+++ b/providers/google/src/airflow/providers/google/cloud/hooks/datafusion.py
@@ -137,8 +137,7 @@ class DataFusionHook(GoogleBaseHook):
 
         # Time is up!
         raise AirflowException(
-            f"Pipeline {pipeline_name} state {current_state} is not "
-            f"one of {success_states} after {timeout}s"
+            f"Pipeline {pipeline_name} state {current_state} is not one of {success_states} after {timeout}s"
         )
 
     @staticmethod
diff --git a/providers/google/src/airflow/providers/google/cloud/hooks/gcs.py b/providers/google/src/airflow/providers/google/cloud/hooks/gcs.py
index 3c17305a60a..36c26c1ad98 100644
--- a/providers/google/src/airflow/providers/google/cloud/hooks/gcs.py
+++ b/providers/google/src/airflow/providers/google/cloud/hooks/gcs.py
@@ -41,7 +41,6 @@ from google.api_core.exceptions import GoogleAPICallError, NotFound
 from google.cloud import storage  # type: ignore[attr-defined]
 from google.cloud.exceptions import GoogleCloudError
 from google.cloud.storage.retry import DEFAULT_RETRY
-from requests import Session
 
 from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
 from airflow.providers.common.compat.lineage.hook import get_hook_lineage_collector
@@ -62,6 +61,7 @@ if TYPE_CHECKING:
     from aiohttp import ClientSession
     from google.api_core.retry import Retry
     from google.cloud.storage.blob import Blob
+    from requests import Session
 
 
 RT = TypeVar("RT")
@@ -135,16 +135,16 @@ def _fallback_object_url_to_object_name_and_bucket_name(
 
             return func(self, *args, **kwargs)
 
-        return cast(Callable[FParams, RT], _inner_wrapper)
+        return cast("Callable[FParams, RT]", _inner_wrapper)
 
-    return cast(Callable[[T], T], _wrapper)
+    return cast("Callable[[T], T]", _wrapper)
 
 
 # A fake bucket to use in functions decorated by _fallback_object_url_to_object_name_and_bucket_name.
 # This allows the 'bucket' argument to be of type str instead of str | None,
 # making it easier to type hint the function body without dealing with the None
 # case that can never happen at runtime.
-PROVIDE_BUCKET: str = cast(str, None)
+PROVIDE_BUCKET: str = cast("str", None)
 
 
 class GCSHook(GoogleBaseHook):
@@ -1494,5 +1494,5 @@ class GCSAsyncHook(GoogleBaseAsyncHook):
         token = await self.get_token(session=session)
         return Storage(
             token=token,
-            session=cast(Session, session),
+            session=cast("Session", session),
         )
diff --git a/providers/google/src/airflow/providers/google/cloud/hooks/translate.py b/providers/google/src/airflow/providers/google/cloud/hooks/translate.py
index c56b4fb7fb3..57b7846f023 100644
--- a/providers/google/src/airflow/providers/google/cloud/hooks/translate.py
+++ b/providers/google/src/airflow/providers/google/cloud/hooks/translate.py
@@ -311,7 +311,7 @@ class TranslateHook(GoogleBaseHook, OperationHelper):
             retry=retry,
             metadata=metadata,
         )
-        return cast(dict, type(result).to_dict(result))
+        return cast("dict", type(result).to_dict(result))
 
     def batch_translate_text(
         self,
diff --git a/providers/google/src/airflow/providers/google/cloud/openlineage/mixins.py b/providers/google/src/airflow/providers/google/cloud/openlineage/mixins.py
index fd716556637..57bbdafef28 100644
--- a/providers/google/src/airflow/providers/google/cloud/openlineage/mixins.py
+++ b/providers/google/src/airflow/providers/google/cloud/openlineage/mixins.py
@@ -188,10 +188,10 @@ class _BigQueryInsertJobOperatorOpenLineageMixin:
         return list(final_outputs.values())
 
     def _get_input_dataset(self, table: dict) -> InputDataset:
-        return cast(InputDataset, self._get_dataset(table, "input"))
+        return cast("InputDataset", self._get_dataset(table, "input"))
 
     def _get_output_dataset(self, table: dict) -> OutputDataset:
-        return cast(OutputDataset, self._get_dataset(table, "output"))
+        return cast("OutputDataset", self._get_dataset(table, "output"))
 
     def _get_dataset(self, table: dict, dataset_type: str) -> Dataset:
         project = table.get("projectId")
diff --git a/providers/google/src/airflow/providers/google/cloud/operators/automl.py b/providers/google/src/airflow/providers/google/cloud/operators/automl.py
index 2a683938ed9..16b6fd47f7a 100644
--- a/providers/google/src/airflow/providers/google/cloud/operators/automl.py
+++ b/providers/google/src/airflow/providers/google/cloud/operators/automl.py
@@ -268,7 +268,7 @@ class AutoMLPredictOperator(GoogleCloudBaseOperator):
     @cached_property
     def model(self) -> Model | None:
         if self.model_id:
-            hook = cast(CloudAutoMLHook, self.hook)
+            hook = cast("CloudAutoMLHook", self.hook)
             return hook.get_model(
                 model_id=self.model_id,
                 location=self.location,
diff --git a/providers/google/src/airflow/providers/google/cloud/operators/dataproc.py b/providers/google/src/airflow/providers/google/cloud/operators/dataproc.py
index 4486ad8e762..6b52813a34b 100644
--- a/providers/google/src/airflow/providers/google/cloud/operators/dataproc.py
+++ b/providers/google/src/airflow/providers/google/cloud/operators/dataproc.py
@@ -1463,8 +1463,7 @@ class DataprocJobBaseOperator(GoogleCloudBaseOperator):
         """Initialize `self.job_template` with default values."""
         if self.project_id is None:
             raise AirflowException(
-                "project id should either be set via project_id "
-                "parameter or retrieved from the connection,"
+                "project id should either be set via project_id parameter or retrieved from the connection,"
             )
         job_template = DataProcJobBuilder(
             project_id=self.project_id,
diff --git a/providers/google/src/airflow/providers/google/cloud/operators/spanner.py b/providers/google/src/airflow/providers/google/cloud/operators/spanner.py
index e93a8c30ace..36cccd1ce18 100644
--- a/providers/google/src/airflow/providers/google/cloud/operators/spanner.py
+++ b/providers/google/src/airflow/providers/google/cloud/operators/spanner.py
@@ -403,8 +403,7 @@ class SpannerDeployDatabaseInstanceOperator(GoogleCloudBaseOperator):
             )
         else:
             self.log.info(
-                "The database '%s' in project '%s' and instance '%s'"
-                " already exists. Nothing to do. Exiting.",
+                "The database '%s' in project '%s' and instance '%s' already exists. Nothing to do. Exiting.",
                 self.database_id,
                 self.project_id,
                 self.instance_id,
diff --git a/providers/google/src/airflow/providers/google/cloud/operators/translate.py b/providers/google/src/airflow/providers/google/cloud/operators/translate.py
index 2c2424ea5f4..6f6100076ea 100644
--- a/providers/google/src/airflow/providers/google/cloud/operators/translate.py
+++ b/providers/google/src/airflow/providers/google/cloud/operators/translate.py
@@ -1145,7 +1145,7 @@ class TranslateDocumentOperator(GoogleCloudBaseOperator):
                 project_id=self.project_id or hook.project_id,
                 output_config=self.document_output_config,
             )
-        return cast(dict, type(doc_translation_result).to_dict(doc_translation_result))
+        return cast("dict", type(doc_translation_result).to_dict(doc_translation_result))
 
 
 class TranslateDocumentBatchOperator(GoogleCloudBaseOperator):
@@ -1310,7 +1310,7 @@ class TranslateDocumentBatchOperator(GoogleCloudBaseOperator):
         )
         result = hook.wait_for_operation_result(batch_document_translate_operation)
         self.log.info("Batch document translation job finished")
-        return cast(dict, type(result).to_dict(result))
+        return cast("dict", type(result).to_dict(result))
 
 
 class TranslateCreateGlossaryOperator(GoogleCloudBaseOperator):
diff --git a/providers/google/src/airflow/providers/google/cloud/transfers/gcs_to_bigquery.py b/providers/google/src/airflow/providers/google/cloud/transfers/gcs_to_bigquery.py
index 291608501b0..259cbd8e327 100644
--- a/providers/google/src/airflow/providers/google/cloud/transfers/gcs_to_bigquery.py
+++ b/providers/google/src/airflow/providers/google/cloud/transfers/gcs_to_bigquery.py
@@ -486,8 +486,7 @@ class GCSToBigQueryOperator(BaseOperator):
         if self.max_id_key:
             self.log.info("Selecting the MAX value from BigQuery column %r...", self.max_id_key)
             select_command = (
-                f"SELECT MAX({self.max_id_key}) AS max_value "
-                f"FROM {self.destination_project_dataset_table}"
+                f"SELECT MAX({self.max_id_key}) AS max_value FROM {self.destination_project_dataset_table}"
             )
             self.configuration = {
                 "query": {
diff --git a/providers/google/src/airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py b/providers/google/src/airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py
index 9a28b960e6e..e888a176f8e 100644
--- a/providers/google/src/airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py
+++ b/providers/google/src/airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py
@@ -59,7 +59,7 @@ class CloudStorageTransferServiceCreateJobsTrigger(BaseTrigger):
     def serialize(self) -> tuple[str, dict[str, Any]]:
         """Serialize StorageTransferJobsTrigger arguments and classpath."""
         return (
-            f"{self.__class__.__module__ }.{self.__class__.__qualname__}",
+            f"{self.__class__.__module__}.{self.__class__.__qualname__}",
             {
                 "project_id": self.project_id,
                 "job_names": self.job_names,
@@ -176,7 +176,7 @@ class CloudStorageTransferServiceCheckJobStatusTrigger(BaseTrigger):
     def serialize(self) -> tuple[str, dict[str, Any]]:
         """Serialize CloudStorageTransferServiceCheckJobStatusTrigger arguments and classpath."""
         return (
-            f"{self.__class__.__module__ }.{self.__class__.__qualname__}",
+            f"{self.__class__.__module__}.{self.__class__.__qualname__}",
             {
                 "job_name": self.job_name,
                 "expected_statuses": self.expected_statuses,
diff --git a/providers/google/src/airflow/providers/google/common/auth_backend/google_openid.py b/providers/google/src/airflow/providers/google/common/auth_backend/google_openid.py
index e18e90af6a8..04329c1a3c8 100644
--- a/providers/google/src/airflow/providers/google/common/auth_backend/google_openid.py
+++ b/providers/google/src/airflow/providers/google/common/auth_backend/google_openid.py
@@ -146,4 +146,4 @@ def requires_authentication(function: T):
 
         return function(*args, **kwargs)
 
-    return cast(T, decorated)
+    return cast("T", decorated)
diff --git a/providers/google/src/airflow/providers/google/common/hooks/base_google.py b/providers/google/src/airflow/providers/google/common/hooks/base_google.py
index 35bccf808cc..21641d468c6 100644
--- a/providers/google/src/airflow/providers/google/common/hooks/base_google.py
+++ b/providers/google/src/airflow/providers/google/common/hooks/base_google.py
@@ -153,7 +153,7 @@ class retry_if_temporary_refresh_credentials(tenacity.retry_if_exception):
 # This allows the 'project_id' argument to be of type str instead of str | None,
 # making it easier to type hint the function body without dealing with the None
 # case that can never happen at runtime.
-PROVIDE_PROJECT_ID: str = cast(str, None)
+PROVIDE_PROJECT_ID: str = cast("str", None)
 
 T = TypeVar("T", bound=Callable)
 RT = TypeVar("RT")
@@ -499,7 +499,7 @@ class GoogleBaseHook(BaseHook):
                 "after": tenacity.after_log(log, logging.DEBUG),
             }
             default_kwargs.update(**kwargs)
-            return cast(T, tenacity.retry(*args, **default_kwargs)(func))
+            return cast("T", tenacity.retry(*args, **default_kwargs)(func))
 
         return decorator
 
@@ -517,7 +517,7 @@ class GoogleBaseHook(BaseHook):
                 "after": tenacity.after_log(log, logging.DEBUG),
             }
             default_kwargs.update(**kwargs)
-            return cast(T, tenacity.retry(*args, **default_kwargs)(func))
+            return cast("T", tenacity.retry(*args, **default_kwargs)(func))
 
         return decorator
 
@@ -569,7 +569,7 @@ class GoogleBaseHook(BaseHook):
             with self.provide_gcp_credential_file_as_context():
                 return func(self, *args, **kwargs)
 
-        return cast(T, wrapper)
+        return cast("T", wrapper)
 
     @contextmanager
     def provide_gcp_credential_file_as_context(self) -> Generator[str | None, None, None]:
@@ -718,7 +718,7 @@ class _CredentialsToken(Token):
         scopes: Sequence[str] | None = None,
     ) -> None:
         _scopes: list[str] | None = list(scopes) if scopes else None
-        super().__init__(session=cast(Session, session), scopes=_scopes)
+        super().__init__(session=cast("Session", session), scopes=_scopes)
         self.credentials = credentials
         self.project = project
 
@@ -743,7 +743,7 @@ class _CredentialsToken(Token):
     async def refresh(self, *, timeout: int) -> TokenResponse:
         await sync_to_async(self.credentials.refresh)(google.auth.transport.requests.Request())
 
-        self.access_token = cast(str, self.credentials.token)
+        self.access_token = cast("str", self.credentials.token)
         self.access_token_duration = 3600
         self.access_token_acquired_at = self._now()
         return TokenResponse(value=self.access_token, expires_in=self.access_token_duration)
diff --git a/providers/google/src/airflow/providers/google/marketing_platform/sensors/display_video.py b/providers/google/src/airflow/providers/google/marketing_platform/sensors/display_video.py
index 5f069702548..01e57813adc 100644
--- a/providers/google/src/airflow/providers/google/marketing_platform/sensors/display_video.py
+++ b/providers/google/src/airflow/providers/google/marketing_platform/sensors/display_video.py
@@ -83,7 +83,7 @@ class GoogleDisplayVideo360GetSDFDownloadOperationSensor(BaseSensorOperator):
         )
         operation = hook.get_sdf_download_operation(operation_name=self.operation_name)
         if "error" in operation:
-            message = f'The operation finished in error with {operation["error"]}'
+            message = f"The operation finished in error with {operation['error']}"
             raise AirflowException(message)
         if operation and operation.get("done"):
             return True
diff --git a/providers/google/src/airflow/providers/google/suite/hooks/drive.py b/providers/google/src/airflow/providers/google/suite/hooks/drive.py
index a33828950c1..93176a558d0 100644
--- a/providers/google/src/airflow/providers/google/suite/hooks/drive.py
+++ b/providers/google/src/airflow/providers/google/suite/hooks/drive.py
@@ -192,9 +192,9 @@ class GoogleDriveHook(GoogleBaseHook):
             # current_file_id can be file or directory id, Google API treats them the same way.
             file_info = self._get_file_info(current_file_id)
             if current_file_id == file_id:
-                path = f'{file_info["name"]}'
+                path = f"{file_info['name']}"
             else:
-                path = f'{file_info["name"]}/{path}'
+                path = f"{file_info['name']}/{path}"
 
             # Google API returns parents array if there is at least one object inside
             if "parents" in file_info and len(file_info["parents"]) == 1:
diff --git a/providers/google/tests/system/google/cloud/bigquery/example_bigquery_dts.py b/providers/google/tests/system/google/cloud/bigquery/example_bigquery_dts.py
index f249c012c59..bb702d8dab0 100644
--- a/providers/google/tests/system/google/cloud/bigquery/example_bigquery_dts.py
+++ b/providers/google/tests/system/google/cloud/bigquery/example_bigquery_dts.py
@@ -123,7 +123,7 @@ with DAG(
         task_id="gcp_bigquery_create_transfer",
     )
 
-    transfer_config_id = cast(str, XComArg(gcp_bigquery_create_transfer, key="transfer_config_id"))
+    transfer_config_id = cast("str", XComArg(gcp_bigquery_create_transfer, key="transfer_config_id"))
     # [END howto_bigquery_create_data_transfer]
 
     # [START howto_bigquery_start_transfer]
@@ -139,7 +139,7 @@ with DAG(
     gcp_run_sensor = BigQueryDataTransferServiceTransferRunSensor(
         task_id="gcp_run_sensor",
         transfer_config_id=transfer_config_id,
-        run_id=cast(str, XComArg(gcp_bigquery_start_transfer, key="run_id")),
+        run_id=cast("str", XComArg(gcp_bigquery_start_transfer, key="run_id")),
         expected_statuses={"SUCCEEDED"},
     )
     # [END howto_bigquery_dts_sensor]
diff --git a/providers/google/tests/system/google/cloud/cloud_build/example_cloud_build.py b/providers/google/tests/system/google/cloud/cloud_build/example_cloud_build.py
index b8231e3903e..e20c363634d 100644
--- a/providers/google/tests/system/google/cloud/cloud_build/example_cloud_build.py
+++ b/providers/google/tests/system/google/cloud/cloud_build/example_cloud_build.py
@@ -92,7 +92,7 @@ with DAG(
 
         # [START howto_operator_create_build_from_storage_result]
         create_build_from_storage_result = BashOperator(
-            bash_command=f"echo {cast(str, XComArg(create_build_from_storage, key='results'))}",
+            bash_command=f"echo {cast('str', XComArg(create_build_from_storage, key='results'))}",
             task_id="create_build_from_storage_result",
         )
         # [END howto_operator_create_build_from_storage_result]
@@ -111,7 +111,7 @@ with DAG(
         # [END howto_operator_create_build_from_storage_async]
 
         create_build_from_storage_result = BashOperator(
-            bash_command=f"echo {cast(str, XComArg(create_build_from_storage, key='results'))}",
+            bash_command=f"echo {cast('str', XComArg(create_build_from_storage, key='results'))}",
             task_id="create_build_from_storage_result",
         )
 
@@ -129,7 +129,7 @@ with DAG(
 
         # [START howto_operator_create_build_from_repo_result]
         create_build_from_repo_result = BashOperator(
-            bash_command=f"echo {cast(str, XComArg(create_build_from_repo, key='results'))}",
+            bash_command=f"echo {cast('str', XComArg(create_build_from_repo, key='results'))}",
             task_id="create_build_from_repo_result",
         )
         # [END howto_operator_create_build_from_repo_result]
@@ -148,7 +148,7 @@ with DAG(
         # [END howto_operator_create_build_from_repo_async]
 
         create_build_from_repo_result = BashOperator(
-            bash_command=f"echo {cast(str, XComArg(create_build_from_repo, key='results'))}",
+            bash_command=f"echo {cast('str', XComArg(create_build_from_repo, key='results'))}",
             task_id="create_build_from_repo_result",
         )
 
@@ -195,7 +195,7 @@ with DAG(
         # [START howto_operator_cancel_build]
         cancel_build = CloudBuildCancelBuildOperator(
             task_id="cancel_build",
-            id_=cast(str, XComArg(create_build_without_wait, key="id")),
+            id_=cast("str", XComArg(create_build_without_wait, key="id")),
             project_id=PROJECT_ID,
         )
         # [END howto_operator_cancel_build]
@@ -203,7 +203,7 @@ with DAG(
         # [START howto_operator_retry_build]
         retry_build = CloudBuildRetryBuildOperator(
             task_id="retry_build",
-            id_=cast(str, XComArg(cancel_build, key="id")),
+            id_=cast("str", XComArg(cancel_build, key="id")),
             project_id=PROJECT_ID,
         )
         # [END howto_operator_retry_build]
@@ -211,7 +211,7 @@ with DAG(
         # [START howto_operator_get_build]
         get_build = CloudBuildGetBuildOperator(
             task_id="get_build",
-            id_=cast(str, XComArg(retry_build, key="id")),
+            id_=cast("str", XComArg(retry_build, key="id")),
             project_id=PROJECT_ID,
         )
         # [END howto_operator_get_build]
@@ -232,19 +232,19 @@ with DAG(
 
         cancel_build = CloudBuildCancelBuildOperator(
             task_id="cancel_build",
-            id_=cast(str, XComArg(create_build_without_wait, key="id")),
+            id_=cast("str", XComArg(create_build_without_wait, key="id")),
             project_id=PROJECT_ID,
         )
 
         retry_build = CloudBuildRetryBuildOperator(
             task_id="retry_build",
-            id_=cast(str, XComArg(cancel_build, key="id")),
+            id_=cast("str", XComArg(cancel_build, key="id")),
             project_id=PROJECT_ID,
         )
 
         get_build = CloudBuildGetBuildOperator(
             task_id="get_build",
-            id_=cast(str, XComArg(retry_build, key="id")),
+            id_=cast("str", XComArg(retry_build, key="id")),
             project_id=PROJECT_ID,
         )
 
diff --git a/providers/google/tests/system/google/cloud/cloud_build/example_cloud_build_trigger.py b/providers/google/tests/system/google/cloud/cloud_build/example_cloud_build_trigger.py
index a91f9b64513..50f1843ad6f 100644
--- a/providers/google/tests/system/google/cloud/cloud_build/example_cloud_build_trigger.py
+++ b/providers/google/tests/system/google/cloud/cloud_build/example_cloud_build_trigger.py
@@ -123,7 +123,7 @@ with DAG(
     )
     # [END howto_operator_create_build_trigger]
 
-    build_trigger_id = cast(str, XComArg(create_build_trigger, key="id"))
+    build_trigger_id = cast("str", XComArg(create_build_trigger, key="id"))
 
     # [START howto_operator_run_build_trigger]
     run_build_trigger = CloudBuildRunBuildTriggerOperator(
diff --git a/providers/google/tests/system/google/cloud/compute/example_compute_igm.py b/providers/google/tests/system/google/cloud/compute/example_compute_igm.py
index 76cb7f2e3ff..84493c279c8 100644
--- a/providers/google/tests/system/google/cloud/compute/example_compute_igm.py
+++ b/providers/google/tests/system/google/cloud/compute/example_compute_igm.py
@@ -91,8 +91,7 @@ INSTANCE_GROUP_MANAGER_BODY = {
 }
 
 SOURCE_TEMPLATE_URL = (
-    f"https://www.googleapis.com/compute/beta/projects/{PROJECT_ID}/"
-    f"global/instanceTemplates/{TEMPLATE_NAME}"
+    f"https://www.googleapis.com/compute/beta/projects/{PROJECT_ID}/global/instanceTemplates/{TEMPLATE_NAME}"
 )
 
 
diff --git a/providers/google/tests/system/google/cloud/gcs/example_gcs_to_gdrive.py b/providers/google/tests/system/google/cloud/gcs/example_gcs_to_gdrive.py
index 5fa2e3c6bbc..5ad6131b4cf 100644
--- a/providers/google/tests/system/google/cloud/gcs/example_gcs_to_gdrive.py
+++ b/providers/google/tests/system/google/cloud/gcs/example_gcs_to_gdrive.py
@@ -77,10 +77,7 @@ with DAG(
             conn_type="google_cloud_platform",
         )
         conn_extra_json = json.dumps(
-            {
-                "scope": "https://www.googleapis.com/auth/drive,"
-                "https://www.googleapis.com/auth/cloud-platform"
-            }
+            {"scope": "https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/cloud-platform"}
         )
         conn.set_extra(conn_extra_json)
 
diff --git a/providers/google/tests/system/google/cloud/gcs/example_gcs_to_sheets.py b/providers/google/tests/system/google/cloud/gcs/example_gcs_to_sheets.py
index 991f8347f5d..8e1ce8bb639 100644
--- a/providers/google/tests/system/google/cloud/gcs/example_gcs_to_sheets.py
+++ b/providers/google/tests/system/google/cloud/gcs/example_gcs_to_sheets.py
@@ -90,8 +90,7 @@ with DAG(
     upload_sheet_to_gcs = GoogleSheetsToGCSOperator(
         task_id="upload_sheet_to_gcs",
         destination_bucket=BUCKET_NAME,
-        spreadsheet_id="{{ task_instance.xcom_pull(task_ids='create_spreadsheet', "
-        "key='spreadsheet_id') }}",
+        spreadsheet_id="{{ task_instance.xcom_pull(task_ids='create_spreadsheet', key='spreadsheet_id') }}",
         gcp_conn_id=CONNECTION_ID,
     )
 
@@ -100,8 +99,7 @@ with DAG(
         task_id="upload_gcs_to_sheet",
         bucket_name=BUCKET_NAME,
         object_name="{{ task_instance.xcom_pull('upload_sheet_to_gcs')[0] }}",
-        spreadsheet_id="{{ task_instance.xcom_pull(task_ids='create_spreadsheet', "
-        "key='spreadsheet_id') }}",
+        spreadsheet_id="{{ task_instance.xcom_pull(task_ids='create_spreadsheet', key='spreadsheet_id') }}",
         gcp_conn_id=CONNECTION_ID,
     )
     # [END upload_gcs_to_sheets]
diff --git a/providers/google/tests/system/google/cloud/gcs/example_gdrive_to_gcs.py b/providers/google/tests/system/google/cloud/gcs/example_gdrive_to_gcs.py
index 6f6a0bf8ee1..df25cd87358 100644
--- a/providers/google/tests/system/google/cloud/gcs/example_gdrive_to_gcs.py
+++ b/providers/google/tests/system/google/cloud/gcs/example_gdrive_to_gcs.py
@@ -69,10 +69,7 @@ with DAG(
             conn_type="google_cloud_platform",
         )
         conn_extra_json = json.dumps(
-            {
-                "scope": "https://www.googleapis.com/auth/drive,"
-                "https://www.googleapis.com/auth/cloud-platform"
-            }
+            {"scope": "https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/cloud-platform"}
         )
         conn.set_extra(conn_extra_json)
 
diff --git a/providers/google/tests/system/google/cloud/gcs/example_sheets.py b/providers/google/tests/system/google/cloud/gcs/example_sheets.py
index 001ebb69d68..5f928ede907 100644
--- a/providers/google/tests/system/google/cloud/gcs/example_sheets.py
+++ b/providers/google/tests/system/google/cloud/gcs/example_sheets.py
@@ -89,8 +89,7 @@ with DAG(
     upload_sheet_to_gcs = GoogleSheetsToGCSOperator(
         task_id="upload_sheet_to_gcs",
         destination_bucket=BUCKET_NAME,
-        spreadsheet_id="{{ task_instance.xcom_pull(task_ids='create_spreadsheet', "
-        "key='spreadsheet_id') }}",
+        spreadsheet_id="{{ task_instance.xcom_pull(task_ids='create_spreadsheet', key='spreadsheet_id') }}",
         gcp_conn_id=CONNECTION_ID,
     )
     # [END upload_sheet_to_gcs]
@@ -113,8 +112,7 @@ with DAG(
         task_id="upload_gcs_to_sheet",
         bucket_name=BUCKET_NAME,
         object_name="{{ task_instance.xcom_pull('upload_sheet_to_gcs')[0] }}",
-        spreadsheet_id="{{ task_instance.xcom_pull(task_ids='create_spreadsheet', "
-        "key='spreadsheet_id') }}",
+        spreadsheet_id="{{ task_instance.xcom_pull(task_ids='create_spreadsheet', key='spreadsheet_id') }}",
         gcp_conn_id=CONNECTION_ID,
     )
     # [END upload_gcs_to_sheet]
diff --git a/providers/google/tests/system/google/cloud/gcs/example_sheets_to_gcs.py b/providers/google/tests/system/google/cloud/gcs/example_sheets_to_gcs.py
index 7c546060333..62bd55eaf87 100644
--- a/providers/google/tests/system/google/cloud/gcs/example_sheets_to_gcs.py
+++ b/providers/google/tests/system/google/cloud/gcs/example_sheets_to_gcs.py
@@ -90,8 +90,7 @@ with DAG(
     upload_sheet_to_gcs = GoogleSheetsToGCSOperator(
         task_id="upload_sheet_to_gcs",
         destination_bucket=BUCKET_NAME,
-        spreadsheet_id="{{ task_instance.xcom_pull(task_ids='create_spreadsheet', "
-        "key='spreadsheet_id') }}",
+        spreadsheet_id="{{ task_instance.xcom_pull(task_ids='create_spreadsheet', key='spreadsheet_id') }}",
         gcp_conn_id=CONNECTION_ID,
     )
     # [END upload_sheet_to_gcs]
diff --git a/providers/google/tests/system/google/cloud/sql_to_sheets/example_sql_to_sheets.py b/providers/google/tests/system/google/cloud/sql_to_sheets/example_sql_to_sheets.py
index 65c88b38ccf..8b38e5cc76f 100644
--- a/providers/google/tests/system/google/cloud/sql_to_sheets/example_sql_to_sheets.py
+++ b/providers/google/tests/system/google/cloud/sql_to_sheets/example_sql_to_sheets.py
@@ -257,8 +257,7 @@ with DAG(
         sql=SQL_SELECT,
         sql_conn_id=CONNECTION_ID,
         database=DB_NAME,
-        spreadsheet_id="{{ task_instance.xcom_pull(task_ids='create_spreadsheet', "
-        "key='spreadsheet_id') }}",
+        spreadsheet_id="{{ task_instance.xcom_pull(task_ids='create_spreadsheet', key='spreadsheet_id') }}",
         gcp_conn_id=SHEETS_CONNECTION_ID,
     )
     # [END upload_sql_to_sheets]
diff --git a/providers/google/tests/system/google/cloud/transfers/example_gdrive_to_local.py b/providers/google/tests/system/google/cloud/transfers/example_gdrive_to_local.py
index 2723e8b28ce..2bd132126f3 100644
--- a/providers/google/tests/system/google/cloud/transfers/example_gdrive_to_local.py
+++ b/providers/google/tests/system/google/cloud/transfers/example_gdrive_to_local.py
@@ -73,10 +73,7 @@ with DAG(
             conn_type="google_cloud_platform",
         )
         conn_extra_json = json.dumps(
-            {
-                "scope": "https://www.googleapis.com/auth/drive,"
-                "https://www.googleapis.com/auth/cloud-platform"
-            }
+            {"scope": "https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/cloud-platform"}
         )
         conn.set_extra(conn_extra_json)
 
diff --git a/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_custom_container.py b/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_custom_container.py
index 316e0d3a7cb..59c0d98de4f 100644
--- a/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_custom_container.py
+++ b/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_custom_container.py
@@ -161,8 +161,7 @@ with DAG(
         task_id="delete_custom_training_job",
         training_pipeline_id="{{ task_instance.xcom_pull(task_ids='custom_container_task', "
         "key='training_id') }}",
-        custom_job_id="{{ task_instance.xcom_pull(task_ids='custom_container_task', "
-        "key='custom_job_id') }}",
+        custom_job_id="{{ task_instance.xcom_pull(task_ids='custom_container_task', key='custom_job_id') }}",
         region=REGION,
         project_id=PROJECT_ID,
         trigger_rule=TriggerRule.ALL_DONE,
diff --git a/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_pipeline_job.py b/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_pipeline_job.py
index bc97ff6a58b..7377e60d49a 100644
--- a/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_pipeline_job.py
+++ b/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_pipeline_job.py
@@ -123,8 +123,7 @@ with DAG(
         task_id="get_pipeline_job",
         project_id=PROJECT_ID,
         region=REGION,
-        pipeline_job_id="{{ task_instance.xcom_pull("
-        "task_ids='run_pipeline_job', key='pipeline_job_id') }}",
+        pipeline_job_id="{{ task_instance.xcom_pull(task_ids='run_pipeline_job', key='pipeline_job_id') }}",
     )
     # [END how_to_cloud_vertex_ai_get_pipeline_job_operator]
 
@@ -133,8 +132,7 @@ with DAG(
         task_id="delete_pipeline_job",
         project_id=PROJECT_ID,
         region=REGION,
-        pipeline_job_id="{{ task_instance.xcom_pull("
-        "task_ids='run_pipeline_job', key='pipeline_job_id') }}",
+        pipeline_job_id="{{ task_instance.xcom_pull(task_ids='run_pipeline_job', key='pipeline_job_id') }}",
         trigger_rule=TriggerRule.ALL_DONE,
     )
     # [END how_to_cloud_vertex_ai_delete_pipeline_job_operator]
diff --git a/providers/google/tests/system/google/cloud/workflows/example_workflows.py b/providers/google/tests/system/google/cloud/workflows/example_workflows.py
index b933d75a6f2..31fdccadc52 100644
--- a/providers/google/tests/system/google/cloud/workflows/example_workflows.py
+++ b/providers/google/tests/system/google/cloud/workflows/example_workflows.py
@@ -148,7 +148,7 @@ with DAG(
     )
     # [END how_to_create_execution]
 
-    create_execution_id = cast(str, XComArg(create_execution, key="execution_id"))
+    create_execution_id = cast("str", XComArg(create_execution, key="execution_id"))
 
     # [START how_to_wait_for_execution]
     wait_for_execution = WorkflowExecutionSensor(
@@ -192,7 +192,7 @@ with DAG(
         workflow_id=SLEEP_WORKFLOW_ID,
     )
 
-    cancel_execution_id = cast(str, XComArg(create_execution_for_cancel, key="execution_id"))
+    cancel_execution_id = cast("str", XComArg(create_execution_for_cancel, key="execution_id"))
 
     # [START how_to_cancel_execution]
     cancel_execution = WorkflowsCancelExecutionOperator(
diff --git a/providers/google/tests/system/google/datacatalog/example_datacatalog_search_catalog.py b/providers/google/tests/system/google/datacatalog/example_datacatalog_search_catalog.py
index c248280798a..f778a08425c 100644
--- a/providers/google/tests/system/google/datacatalog/example_datacatalog_search_catalog.py
+++ b/providers/google/tests/system/google/datacatalog/example_datacatalog_search_catalog.py
@@ -114,7 +114,7 @@ with DAG(
     )
     # [END howto_operator_gcp_datacatalog_create_tag]
 
-    tag_id = cast(str, XComArg(create_tag, key="tag_id"))
+    tag_id = cast("str", XComArg(create_tag, key="tag_id"))
 
     # [START howto_operator_gcp_datacatalog_create_tag_result]
     create_tag_result = BashOperator(
diff --git a/providers/google/tests/system/google/datacatalog/example_datacatalog_tags.py b/providers/google/tests/system/google/datacatalog/example_datacatalog_tags.py
index 953f6b503d6..c8ab89239d9 100644
--- a/providers/google/tests/system/google/datacatalog/example_datacatalog_tags.py
+++ b/providers/google/tests/system/google/datacatalog/example_datacatalog_tags.py
@@ -115,7 +115,7 @@ with DAG(
     )
     # [END howto_operator_gcp_datacatalog_create_tag]
 
-    tag_id = cast(str, XComArg(create_tag, key="tag_id"))
+    tag_id = cast("str", XComArg(create_tag, key="tag_id"))
 
     # [START howto_operator_gcp_datacatalog_create_tag_result]
     create_tag_result = BashOperator(
diff --git a/providers/google/tests/system/google/marketing_platform/example_campaign_manager.py b/providers/google/tests/system/google/marketing_platform/example_campaign_manager.py
index 54ee2216200..0685de961b4 100644
--- a/providers/google/tests/system/google/marketing_platform/example_campaign_manager.py
+++ b/providers/google/tests/system/google/marketing_platform/example_campaign_manager.py
@@ -214,7 +214,7 @@ with DAG(
         task_id="create_report",
         gcp_conn_id=CONNECTION_ID,
     )
-    report_id = cast(str, XComArg(create_report, key="report_id"))
+    report_id = cast("str", XComArg(create_report, key="report_id"))
     # [END howto_campaign_manager_insert_report_operator]
 
     # [START howto_campaign_manager_run_report_operator]
@@ -224,7 +224,7 @@ with DAG(
         task_id="run_report",
         gcp_conn_id=CONNECTION_ID,
     )
-    file_id = cast(str, XComArg(run_report, key="file_id"))
+    file_id = cast("str", XComArg(run_report, key="file_id"))
     # [END howto_campaign_manager_run_report_operator]
 
     # [START howto_campaign_manager_wait_for_operation]
diff --git a/providers/google/tests/system/google/marketing_platform/example_display_video.py b/providers/google/tests/system/google/marketing_platform/example_display_video.py
index 65b7b42a008..a55b8878c81 100644
--- a/providers/google/tests/system/google/marketing_platform/example_display_video.py
+++ b/providers/google/tests/system/google/marketing_platform/example_display_video.py
@@ -183,7 +183,7 @@ with DAG(
     # [START howto_google_display_video_create_query_operator]
     create_query_v2 = GoogleDisplayVideo360CreateQueryOperator(body=REPORT_V2, task_id="create_query")
 
-    query_id = cast(str, XComArg(create_query_v2, key="query_id"))
+    query_id = cast("str", XComArg(create_query_v2, key="query_id"))
     # [END howto_google_display_video_create_query_operator]
 
     # [START howto_google_display_video_run_query_report_operator]
@@ -191,8 +191,8 @@ with DAG(
         query_id=query_id, parameters=PARAMETERS, task_id="run_report"
     )
 
-    query_id = cast(str, XComArg(run_query_v2, key="query_id"))
-    report_id = cast(str, XComArg(run_query_v2, key="report_id"))
+    query_id = cast("str", XComArg(run_query_v2, key="query_id"))
+    report_id = cast("str", XComArg(run_query_v2, key="report_id"))
     # [END howto_google_display_video_run_query_report_operator]
 
     # [START howto_google_display_video_wait_run_query_sensor]
diff --git a/providers/google/tests/unit/google/cloud/hooks/test_bigquery.py b/providers/google/tests/unit/google/cloud/hooks/test_bigquery.py
index 24375acb537..45eb7cf2d68 100644
--- a/providers/google/tests/unit/google/cloud/hooks/test_bigquery.py
+++ b/providers/google/tests/unit/google/cloud/hooks/test_bigquery.py
@@ -198,13 +198,13 @@ class TestBigQueryHookMethods(_BigQueryBaseTestClass):
         src_fmt_configs = _validate_src_fmt_configs(
             source_format, src_fmt_configs, valid_configs, backward_compatibility_configs
         )
-        assert (
-            "test_config_known" in src_fmt_configs
-        ), "src_fmt_configs should contain al known src_fmt_configs"
+        assert "test_config_known" in src_fmt_configs, (
+            "src_fmt_configs should contain al known src_fmt_configs"
+        )
 
-        assert (
-            "compatibility_val" in src_fmt_configs
-        ), "_validate_src_fmt_configs should add backward_compatibility config"
+        assert "compatibility_val" in src_fmt_configs, (
+            "_validate_src_fmt_configs should add backward_compatibility config"
+        )
 
     @mock.patch("airflow.providers.google.cloud.hooks.bigquery.Table")
     @mock.patch("airflow.providers.google.cloud.hooks.bigquery.SchemaField")
diff --git a/providers/google/tests/unit/google/cloud/hooks/test_bigquery_dts.py b/providers/google/tests/unit/google/cloud/hooks/test_bigquery_dts.py
index 881494fc9c6..1ee431b0a7b 100644
--- a/providers/google/tests/unit/google/cloud/hooks/test_bigquery_dts.py
+++ b/providers/google/tests/unit/google/cloud/hooks/test_bigquery_dts.py
@@ -71,8 +71,7 @@ class TestBigQueryDataTransferHook:
         assert expected == self.hook._disable_auto_scheduling(TRANSFER_CONFIG)
 
     @mock.patch(
-        "airflow.providers.google.cloud.hooks.bigquery_dts."
-        "DataTransferServiceClient.create_transfer_config"
+        "airflow.providers.google.cloud.hooks.bigquery_dts.DataTransferServiceClient.create_transfer_config"
     )
     def test_create_transfer_config(self, service_mock):
         self.hook.create_transfer_config(transfer_config=TRANSFER_CONFIG, project_id=PROJECT_ID)
@@ -87,8 +86,7 @@ class TestBigQueryDataTransferHook:
         )
 
     @mock.patch(
-        "airflow.providers.google.cloud.hooks.bigquery_dts."
-        "DataTransferServiceClient.delete_transfer_config"
+        "airflow.providers.google.cloud.hooks.bigquery_dts.DataTransferServiceClient.delete_transfer_config"
     )
     def test_delete_transfer_config(self, service_mock):
         self.hook.delete_transfer_config(transfer_config_id=TRANSFER_CONFIG_ID, project_id=PROJECT_ID)
diff --git a/providers/google/tests/unit/google/cloud/hooks/test_dataform.py b/providers/google/tests/unit/google/cloud/hooks/test_dataform.py
index afbfc095615..ac271a62723 100644
--- a/providers/google/tests/unit/google/cloud/hooks/test_dataform.py
+++ b/providers/google/tests/unit/google/cloud/hooks/test_dataform.py
@@ -288,8 +288,7 @@ class TestDataformHook:
             workspace_id=WORKSPACE_ID,
         )
         name = (
-            f"projects/{PROJECT_ID}/locations/{REGION}/"
-            f"repositories/{REPOSITORY_ID}/workspaces/{WORKSPACE_ID}"
+            f"projects/{PROJECT_ID}/locations/{REGION}/repositories/{REPOSITORY_ID}/workspaces/{WORKSPACE_ID}"
         )
 
         mock_client.return_value.delete_workspace.assert_called_once_with(
@@ -312,8 +311,7 @@ class TestDataformHook:
             contents=FILE_CONTENTS,
         )
         workspace_path = (
-            f"projects/{PROJECT_ID}/locations/{REGION}/"
-            f"repositories/{REPOSITORY_ID}/workspaces/{WORKSPACE_ID}"
+            f"projects/{PROJECT_ID}/locations/{REGION}/repositories/{REPOSITORY_ID}/workspaces/{WORKSPACE_ID}"
         )
 
         mock_client.return_value.write_file.assert_called_once_with(
@@ -337,8 +335,7 @@ class TestDataformHook:
             path=PATH_TO_FOLDER,
         )
         workspace_path = (
-            f"projects/{PROJECT_ID}/locations/{REGION}/"
-            f"repositories/{REPOSITORY_ID}/workspaces/{WORKSPACE_ID}"
+            f"projects/{PROJECT_ID}/locations/{REGION}/repositories/{REPOSITORY_ID}/workspaces/{WORKSPACE_ID}"
         )
 
         mock_client.return_value.make_directory.assert_called_once_with(
@@ -361,8 +358,7 @@ class TestDataformHook:
             path=PATH_TO_FOLDER,
         )
         workspace_path = (
-            f"projects/{PROJECT_ID}/locations/{REGION}/"
-            f"repositories/{REPOSITORY_ID}/workspaces/{WORKSPACE_ID}"
+            f"projects/{PROJECT_ID}/locations/{REGION}/repositories/{REPOSITORY_ID}/workspaces/{WORKSPACE_ID}"
         )
 
         mock_client.return_value.remove_directory.assert_called_once_with(
@@ -385,8 +381,7 @@ class TestDataformHook:
             filepath=FILEPATH,
         )
         workspace_path = (
-            f"projects/{PROJECT_ID}/locations/{REGION}/"
-            f"repositories/{REPOSITORY_ID}/workspaces/{WORKSPACE_ID}"
+            f"projects/{PROJECT_ID}/locations/{REGION}/repositories/{REPOSITORY_ID}/workspaces/{WORKSPACE_ID}"
         )
 
         mock_client.return_value.remove_file.assert_called_once_with(
@@ -409,8 +404,7 @@ class TestDataformHook:
         )
 
         workspace_path = (
-            f"projects/{PROJECT_ID}/locations/{REGION}/"
-            f"repositories/{REPOSITORY_ID}/workspaces/{WORKSPACE_ID}"
+            f"projects/{PROJECT_ID}/locations/{REGION}/repositories/{REPOSITORY_ID}/workspaces/{WORKSPACE_ID}"
         )
 
         mock_client.return_value.install_npm_packages.assert_called_once_with(
diff --git a/providers/google/tests/unit/google/cloud/operators/test_bigquery.py b/providers/google/tests/unit/google/cloud/operators/test_bigquery.py
index 01f42d19473..63d687227e6 100644
--- a/providers/google/tests/unit/google/cloud/operators/test_bigquery.py
+++ b/providers/google/tests/unit/google/cloud/operators/test_bigquery.py
@@ -1111,9 +1111,9 @@ class TestBigQueryGetDataOperator:
         with pytest.raises(TaskDeferred) as exc:
             ti.task.execute(MagicMock())
 
-        assert isinstance(
-            exc.value.trigger, BigQueryGetDataTrigger
-        ), "Trigger is not a BigQueryGetDataTrigger"
+        assert isinstance(exc.value.trigger, BigQueryGetDataTrigger), (
+            "Trigger is not a BigQueryGetDataTrigger"
+        )
 
     @pytest.mark.db_test
     @pytest.mark.parametrize("as_dict", [True, False])
@@ -1141,9 +1141,9 @@ class TestBigQueryGetDataOperator:
         with pytest.raises(TaskDeferred) as exc:
             ti.task.execute(MagicMock())
 
-        assert isinstance(
-            exc.value.trigger, BigQueryGetDataTrigger
-        ), "Trigger is not a BigQueryGetDataTrigger"
+        assert isinstance(exc.value.trigger, BigQueryGetDataTrigger), (
+            "Trigger is not a BigQueryGetDataTrigger"
+        )
 
     @pytest.mark.parametrize("as_dict", [True, False])
     def test_bigquery_get_data_operator_execute_failure(self, as_dict):
@@ -1816,9 +1816,9 @@ class TestBigQueryInsertJobOperator:
         with pytest.raises(TaskDeferred) as exc:
             ti.task.execute(MagicMock())
 
-        assert isinstance(
-            exc.value.trigger, BigQueryInsertJobTrigger
-        ), "Trigger is not a BigQueryInsertJobTrigger"
+        assert isinstance(exc.value.trigger, BigQueryInsertJobTrigger), (
+            "Trigger is not a BigQueryInsertJobTrigger"
+        )
 
     @mock.patch("airflow.providers.google.cloud.operators.bigquery.BigQueryHook")
     def test_bigquery_insert_job_operator_async_inherits_hook_project_id_when_non_given(
@@ -1853,9 +1853,9 @@ class TestBigQueryInsertJobOperator:
         with pytest.raises(TaskDeferred) as exc:
             ti.task.execute(MagicMock())
 
-        assert isinstance(
-            exc.value.trigger, BigQueryInsertJobTrigger
-        ), "Trigger is not a BigQueryInsertJobTrigger"
+        assert isinstance(exc.value.trigger, BigQueryInsertJobTrigger), (
+            "Trigger is not a BigQueryInsertJobTrigger"
+        )
 
         assert exc.value.trigger.project_id == TEST_GCP_PROJECT_ID
 
@@ -2468,9 +2468,9 @@ class TestBigQueryIntervalCheckOperator:
         with pytest.raises(TaskDeferred) as exc:
             ti.task.execute(MagicMock())
 
-        assert isinstance(
-            exc.value.trigger, BigQueryIntervalCheckTrigger
-        ), "Trigger is not a BigQueryIntervalCheckTrigger"
+        assert isinstance(exc.value.trigger, BigQueryIntervalCheckTrigger), (
+            "Trigger is not a BigQueryIntervalCheckTrigger"
+        )
 
     @pytest.mark.db_test
     @mock.patch("airflow.providers.google.cloud.operators.bigquery.BigQueryHook")
@@ -2781,9 +2781,9 @@ class TestBigQueryValueCheckOperator:
         with pytest.raises(TaskDeferred) as exc:
             ti.task.execute(MagicMock())
 
-        assert isinstance(
-            exc.value.trigger, BigQueryValueCheckTrigger
-        ), "Trigger is not a BigQueryValueCheckTrigger"
+        assert isinstance(exc.value.trigger, BigQueryValueCheckTrigger), (
+            "Trigger is not a BigQueryValueCheckTrigger"
+        )
 
     @pytest.mark.db_test
     @mock.patch("airflow.providers.google.cloud.operators.bigquery.BigQueryValueCheckOperator.defer")
diff --git a/providers/google/tests/unit/google/cloud/operators/test_cloud_build.py b/providers/google/tests/unit/google/cloud/operators/test_cloud_build.py
index 1b9eb363ee7..36631f923a8 100644
--- a/providers/google/tests/unit/google/cloud/operators/test_cloud_build.py
+++ b/providers/google/tests/unit/google/cloud/operators/test_cloud_build.py
@@ -428,9 +428,9 @@ def test_async_create_build_fires_correct_trigger_should_execute_successfully(
     with pytest.raises(TaskDeferred) as exc:
         ti.task.execute({"ti": ti})
 
-    assert isinstance(
-        exc.value.trigger, CloudBuildCreateBuildTrigger
-    ), "Trigger is not a CloudBuildCreateBuildTrigger"
+    assert isinstance(exc.value.trigger, CloudBuildCreateBuildTrigger), (
+        "Trigger is not a CloudBuildCreateBuildTrigger"
+    )
 
 
 @mock.patch(CLOUD_BUILD_HOOK_PATH)
diff --git a/providers/google/tests/unit/google/cloud/operators/test_compute.py b/providers/google/tests/unit/google/cloud/operators/test_compute.py
index 6aca2c2b7bb..37068c4925f 100644
--- a/providers/google/tests/unit/google/cloud/operators/test_compute.py
+++ b/providers/google/tests/unit/google/cloud/operators/test_compute.py
@@ -1044,8 +1044,7 @@ GCE_INSTANCE_TEMPLATE_BODY_GET = {
         "network_interfaces": [
             {
                 "kind": "compute#networkInterface",
-                "network": "https://www.googleapis.com/compute/v1/"
-                "projects/project/global/networks/default",
+                "network": "https://www.googleapis.com/compute/v1/projects/project/global/networks/default",
                 "access_configs": [
                     {
                         "kind": "compute#accessConfig",
@@ -1054,8 +1053,7 @@ GCE_INSTANCE_TEMPLATE_BODY_GET = {
                 ],
             },
             {
-                "network": "https://www.googleapis.com/compute/v1/"
-                "projects/project/global/networks/default",
+                "network": "https://www.googleapis.com/compute/v1/projects/project/global/networks/default",
                 "access_configs": [{"kind": "compute#accessConfig", "networkTier": "PREMIUM"}],
             },
         ],
@@ -1386,8 +1384,7 @@ class TestGceInstanceTemplateCopy:
 
 GCE_INSTANCE_GROUP_MANAGER_NAME = "instance-group-test"
 GCE_INSTANCE_TEMPLATE_SOURCE_URL = (
-    "https://www.googleapis.com/compute/beta/projects/project"
-    "/global/instanceTemplates/instance-template-test"
+    "https://www.googleapis.com/compute/beta/projects/project/global/instanceTemplates/instance-template-test"
 )
 
 GCE_INSTANCE_TEMPLATE_OTHER_URL = (
@@ -1401,8 +1398,7 @@ GCE_INSTANCE_TEMPLATE_NON_EXISTING_URL = (
 )
 
 GCE_INSTANCE_TEMPLATE_DESTINATION_URL = (
-    "https://www.googleapis.com/compute/beta/projects/project"
-    "/global/instanceTemplates/instance-template-new"
+    "https://www.googleapis.com/compute/beta/projects/project/global/instanceTemplates/instance-template-new"
 )
 
 GCE_INSTANCE_GROUP_MANAGER_GET = {
diff --git a/providers/google/tests/unit/google/cloud/operators/test_datafusion.py b/providers/google/tests/unit/google/cloud/operators/test_datafusion.py
index 43eb0a457e4..3aca8a37913 100644
--- a/providers/google/tests/unit/google/cloud/operators/test_datafusion.py
+++ b/providers/google/tests/unit/google/cloud/operators/test_datafusion.py
@@ -314,9 +314,9 @@ class TestCloudDataFusionStartPipelineOperatorAsync:
         with pytest.raises(TaskDeferred) as exc:
             op.execute(context=mock.MagicMock())
 
-        assert isinstance(
-            exc.value.trigger, DataFusionStartPipelineTrigger
-        ), "Trigger is not a DataFusionStartPipelineTrigger"
+        assert isinstance(exc.value.trigger, DataFusionStartPipelineTrigger), (
+            "Trigger is not a DataFusionStartPipelineTrigger"
+        )
 
     def test_asynch_execute_should_should_throw_exception(self):
         """Tests that an AirflowException is raised in case of error event"""
diff --git a/providers/google/tests/unit/google/cloud/operators/test_dataproc.py b/providers/google/tests/unit/google/cloud/operators/test_dataproc.py
index 91657896111..b9b804d0a54 100644
--- a/providers/google/tests/unit/google/cloud/operators/test_dataproc.py
+++ b/providers/google/tests/unit/google/cloud/operators/test_dataproc.py
@@ -355,8 +355,7 @@ TEST_JOB_ID = "test-job"
 TEST_WORKFLOW_ID = "test-workflow"
 
 DATAPROC_JOB_LINK_EXPECTED = (
-    f"https://console.cloud.google.com/dataproc/jobs/{TEST_JOB_ID}?"
-    f"region={GCP_REGION}&project={GCP_PROJECT}"
+    f"https://console.cloud.google.com/dataproc/jobs/{TEST_JOB_ID}?region={GCP_REGION}&project={GCP_PROJECT}"
 )
 DATAPROC_CLUSTER_LINK_EXPECTED = (
     f"https://console.cloud.google.com/dataproc/clusters/{CLUSTER_NAME}/monitoring?"
@@ -1423,9 +1422,9 @@ class TestDataprocSubmitJobOperator(DataprocJobTestBase):
         # Test whether xcom push occurs before polling for job
         assert self.extra_links_manager_mock.mock_calls.index(
             xcom_push_call
-        ) < self.extra_links_manager_mock.mock_calls.index(
-            wait_for_job_call
-        ), "Xcom push for Job Link has to be done before polling for job status"
+        ) < self.extra_links_manager_mock.mock_calls.index(wait_for_job_call), (
+            "Xcom push for Job Link has to be done before polling for job status"
+        )
 
         mock_hook.return_value.submit_job.assert_called_once_with(
             project_id=GCP_PROJECT,
diff --git a/providers/google/tests/unit/google/cloud/operators/test_mlengine.py b/providers/google/tests/unit/google/cloud/operators/test_mlengine.py
index 456961242d7..2f7dee7328a 100644
--- a/providers/google/tests/unit/google/cloud/operators/test_mlengine.py
+++ b/providers/google/tests/unit/google/cloud/operators/test_mlengine.py
@@ -1302,9 +1302,9 @@ def test_async_create_training_job_should_execute_successfully(
     with pytest.raises(TaskDeferred) as exc:
         ti.task.execute({"ti": ti})
 
-    assert isinstance(
-        exc.value.trigger, MLEngineStartTrainingJobTrigger
-    ), "Trigger is not a MLEngineStartTrainingJobTrigger"
+    assert isinstance(exc.value.trigger, MLEngineStartTrainingJobTrigger), (
+        "Trigger is not a MLEngineStartTrainingJobTrigger"
+    )
 
 
 def test_async_create_training_job_should_throw_exception():
diff --git a/providers/google/tests/unit/google/cloud/operators/test_vertex_ai.py b/providers/google/tests/unit/google/cloud/operators/test_vertex_ai.py
index 6410249f10a..15852be62ab 100644
--- a/providers/google/tests/unit/google/cloud/operators/test_vertex_ai.py
+++ b/providers/google/tests/unit/google/cloud/operators/test_vertex_ai.py
@@ -415,9 +415,9 @@ class TestVertexAICreateCustomContainerTrainingJobOperator:
         mock_hook.return_value.exists.return_value = False
         with pytest.raises(TaskDeferred) as exc:
             task.execute(context={"ti": mock.MagicMock()})
-        assert isinstance(
-            exc.value.trigger, CustomContainerTrainingJobTrigger
-        ), "Trigger is not a CustomContainerTrainingJobTrigger"
+        assert isinstance(exc.value.trigger, CustomContainerTrainingJobTrigger), (
+            "Trigger is not a CustomContainerTrainingJobTrigger"
+        )
 
     @mock.patch(VERTEX_AI_LINKS_PATH.format("VertexAIModelLink.persist"))
     @mock.patch(VERTEX_AI_PATH.format("custom_job.CreateCustomContainerTrainingJobOperator.xcom_push"))
@@ -741,9 +741,9 @@ class TestVertexAICreateCustomPythonPackageTrainingJobOperator:
         mock_hook.return_value.exists.return_value = False
         with pytest.raises(TaskDeferred) as exc:
             task.execute(context={"ti": mock.MagicMock()})
-        assert isinstance(
-            exc.value.trigger, CustomPythonPackageTrainingJobTrigger
-        ), "Trigger is not a CustomPythonPackageTrainingJobTrigger"
+        assert isinstance(exc.value.trigger, CustomPythonPackageTrainingJobTrigger), (
+            "Trigger is not a CustomPythonPackageTrainingJobTrigger"
+        )
 
     @mock.patch(VERTEX_AI_LINKS_PATH.format("VertexAIModelLink.persist"))
     @mock.patch(VERTEX_AI_PATH.format("custom_job.CreateCustomPythonPackageTrainingJobOperator.xcom_push"))
@@ -1052,9 +1052,9 @@ class TestVertexAICreateCustomTrainingJobOperator:
         mock_hook.return_value.exists.return_value = False
         with pytest.raises(TaskDeferred) as exc:
             task.execute(context={"ti": mock.MagicMock()})
-        assert isinstance(
-            exc.value.trigger, CustomTrainingJobTrigger
-        ), "Trigger is not a CustomTrainingJobTrigger"
+        assert isinstance(exc.value.trigger, CustomTrainingJobTrigger), (
+            "Trigger is not a CustomTrainingJobTrigger"
+        )
 
     @mock.patch(VERTEX_AI_LINKS_PATH.format("VertexAIModelLink.persist"))
     @mock.patch(VERTEX_AI_PATH.format("custom_job.CreateCustomTrainingJobOperator.xcom_push"))
diff --git a/providers/google/tests/unit/google/cloud/sensors/test_bigquery.py b/providers/google/tests/unit/google/cloud/sensors/test_bigquery.py
index 91a98970f93..d568afe3701 100644
--- a/providers/google/tests/unit/google/cloud/sensors/test_bigquery.py
+++ b/providers/google/tests/unit/google/cloud/sensors/test_bigquery.py
@@ -97,9 +97,9 @@ class TestBigqueryTableExistenceSensor:
         mock_hook.return_value.table_exists.return_value = False
         with pytest.raises(TaskDeferred) as exc:
             task.execute(mock.MagicMock())
-        assert isinstance(
-            exc.value.trigger, BigQueryTableExistenceTrigger
-        ), "Trigger is not a BigQueryTableExistenceTrigger"
+        assert isinstance(exc.value.trigger, BigQueryTableExistenceTrigger), (
+            "Trigger is not a BigQueryTableExistenceTrigger"
+        )
 
     def test_execute_deferred_failure(self):
         """Tests that an expected exception is raised in case of error event"""
@@ -200,9 +200,9 @@ class TestBigqueryTablePartitionExistenceSensor:
         mock_hook.return_value.table_partition_exists.return_value = False
         with pytest.raises(TaskDeferred) as exc:
             task.execute(context={})
-        assert isinstance(
-            exc.value.trigger, BigQueryTablePartitionExistenceTrigger
-        ), "Trigger is not a BigQueryTablePartitionExistenceTrigger"
+        assert isinstance(exc.value.trigger, BigQueryTablePartitionExistenceTrigger), (
+            "Trigger is not a BigQueryTablePartitionExistenceTrigger"
+        )
 
     def test_execute_with_deferrable_mode_execute_failure(self):
         """Tests that an AirflowException is raised in case of error event"""
diff --git a/providers/google/tests/unit/google/cloud/sensors/test_dataflow.py b/providers/google/tests/unit/google/cloud/sensors/test_dataflow.py
index 50efd44c699..873780d0c35 100644
--- a/providers/google/tests/unit/google/cloud/sensors/test_dataflow.py
+++ b/providers/google/tests/unit/google/cloud/sensors/test_dataflow.py
@@ -127,9 +127,9 @@ class TestDataflowJobStatusSensor:
         mock_poke.return_value = False
         with pytest.raises(TaskDeferred) as exc:
             task.execute(None)
-        assert isinstance(
-            exc.value.trigger, DataflowJobStatusTrigger
-        ), "Trigger is not a DataflowJobStatusTrigger"
+        assert isinstance(exc.value.trigger, DataflowJobStatusTrigger), (
+            "Trigger is not a DataflowJobStatusTrigger"
+        )
 
     def test_execute_complete_success(self):
         """Tests that the trigger event contains expected values if no callback function is provided."""
@@ -261,9 +261,9 @@ class TestDataflowJobMetricsSensor:
         mock_hook.return_value.exists.return_value = False
         with pytest.raises(TaskDeferred) as exc:
             task.execute(None)
-        assert isinstance(
-            exc.value.trigger, DataflowJobMetricsTrigger
-        ), "Trigger is not a DataflowJobMetricsTrigger"
+        assert isinstance(exc.value.trigger, DataflowJobMetricsTrigger), (
+            "Trigger is not a DataflowJobMetricsTrigger"
+        )
 
     def test_execute_complete_success_without_callback_function(self):
         """Tests that the trigger event contains expected values if no callback function is provided."""
@@ -439,9 +439,9 @@ class TestDataflowJobMessagesSensor:
         mock_hook.return_value.exists.return_value = False
         with pytest.raises(TaskDeferred) as exc:
             task.execute(None)
-        assert isinstance(
-            exc.value.trigger, DataflowJobMessagesTrigger
-        ), "Trigger is not a DataflowJobMessagesTrigger"
+        assert isinstance(exc.value.trigger, DataflowJobMessagesTrigger), (
+            "Trigger is not a DataflowJobMessagesTrigger"
+        )
 
     def test_execute_complete_success_without_callback_function(self):
         """Tests that the trigger event contains expected values if no callback function is provided."""
@@ -615,9 +615,9 @@ class TestDataflowJobAutoScalingEventsSensor:
         mock_hook.return_value.exists.return_value = False
         with pytest.raises(TaskDeferred) as exc:
             task.execute(None)
-        assert isinstance(
-            exc.value.trigger, DataflowJobAutoScalingEventTrigger
-        ), "Trigger is not a DataflowJobAutoScalingEventTrigger"
+        assert isinstance(exc.value.trigger, DataflowJobAutoScalingEventTrigger), (
+            "Trigger is not a DataflowJobAutoScalingEventTrigger"
+        )
 
     def test_execute_complete_success_without_callback_function(self):
         """Tests that the trigger event contains expected values if no callback function is provided."""
diff --git a/providers/google/tests/unit/google/cloud/sensors/test_gcs.py b/providers/google/tests/unit/google/cloud/sensors/test_gcs.py
index c242856d603..13060a03f93 100644
--- a/providers/google/tests/unit/google/cloud/sensors/test_gcs.py
+++ b/providers/google/tests/unit/google/cloud/sensors/test_gcs.py
@@ -255,9 +255,9 @@ class TestGCSObjectUpdateAsyncSensor:
         mock_hook.return_value.is_updated_after.return_value = False
         with pytest.raises(TaskDeferred) as exc:
             self.OPERATOR.execute(mock.MagicMock())
-        assert isinstance(
-            exc.value.trigger, GCSCheckBlobUpdateTimeTrigger
-        ), "Trigger is not a GCSCheckBlobUpdateTimeTrigger"
+        assert isinstance(exc.value.trigger, GCSCheckBlobUpdateTimeTrigger), (
+            "Trigger is not a GCSCheckBlobUpdateTimeTrigger"
+        )
 
     def test_gcs_object_update_async_sensor_execute_failure(self):
         """Tests that an AirflowException is raised in case of error event"""
@@ -532,9 +532,9 @@ class TestGCSUploadSessionCompleteAsyncSensor:
         mock_hook.return_value.is_bucket_updated.return_value = False
         with pytest.raises(TaskDeferred) as exc:
             self.OPERATOR.execute(mock.MagicMock())
-        assert isinstance(
-            exc.value.trigger, GCSUploadSessionTrigger
-        ), "Trigger is not a GCSUploadSessionTrigger"
+        assert isinstance(exc.value.trigger, GCSUploadSessionTrigger), (
+            "Trigger is not a GCSUploadSessionTrigger"
+        )
 
     def test_gcs_upload_session_complete_sensor_execute_failure(self):
         """Tests that an AirflowException is raised in case of error event"""
diff --git a/providers/google/tests/unit/google/cloud/transfers/test_bigquery_to_gcs.py b/providers/google/tests/unit/google/cloud/transfers/test_bigquery_to_gcs.py
index b451d2037ef..38a95f4e734 100644
--- a/providers/google/tests/unit/google/cloud/transfers/test_bigquery_to_gcs.py
+++ b/providers/google/tests/unit/google/cloud/transfers/test_bigquery_to_gcs.py
@@ -173,9 +173,9 @@ class TestBigQueryToGCSOperator:
         with pytest.raises(TaskDeferred) as exc:
             operator.execute(context=mock.MagicMock())
 
-        assert isinstance(
-            exc.value.trigger, BigQueryInsertJobTrigger
-        ), "Trigger is not a BigQueryInsertJobTrigger"
+        assert isinstance(exc.value.trigger, BigQueryInsertJobTrigger), (
+            "Trigger is not a BigQueryInsertJobTrigger"
+        )
 
         mock_hook.return_value.insert_job.assert_called_once_with(
             configuration=expected_configuration,
diff --git a/providers/google/tests/unit/google/cloud/triggers/test_bigquery.py b/providers/google/tests/unit/google/cloud/triggers/test_bigquery.py
index bbb1a503568..a9552ad2a29 100644
--- a/providers/google/tests/unit/google/cloud/triggers/test_bigquery.py
+++ b/providers/google/tests/unit/google/cloud/triggers/test_bigquery.py
@@ -303,9 +303,9 @@ class TestBigQueryInsertJobTrigger:
         except asyncio.CancelledError:
             pass
 
-        assert (
-            "Skipping to cancel job" in caplog.text
-        ), "Expected message about skipping cancellation not found in log."
+        assert "Skipping to cancel job" in caplog.text, (
+            "Expected message about skipping cancellation not found in log."
+        )
         assert mock_get_job_status.call_count == 2, "Job status should be checked multiple times"
 
 
diff --git a/providers/google/tests/unit/google/cloud/utils/test_credentials_provider.py b/providers/google/tests/unit/google/cloud/utils/test_credentials_provider.py
index 91a5cac5f06..4ad9ee8539a 100644
--- a/providers/google/tests/unit/google/cloud/utils/test_credentials_provider.py
+++ b/providers/google/tests/unit/google/cloud/utils/test_credentials_provider.py
@@ -366,9 +366,7 @@ class TestGetGcpCredentialsAndProjectId:
     ):
         mock_secret_manager_client.return_value.is_valid_secret_name.return_value = True
         mock_secret_manager_client.return_value.get_secret.return_value = (
-            '{"type":"service_account","project_id":"pid",'
-            '"private_key_id":"pkid",'
-            '"private_key":"payload"}'
+            '{"type":"service_account","project_id":"pid","private_key_id":"pkid","private_key":"payload"}'
         )
 
         get_credentials_and_project_id(key_secret_name="secret name")
diff --git a/providers/google/tests/unit/google/leveldb/hooks/test_leveldb.py b/providers/google/tests/unit/google/leveldb/hooks/test_leveldb.py
index e37bc49d098..1443cafe36a 100644
--- a/providers/google/tests/unit/google/leveldb/hooks/test_leveldb.py
+++ b/providers/google/tests/unit/google/leveldb/hooks/test_leveldb.py
@@ -45,9 +45,9 @@ class TestLevelDBHook:
         hook.get_conn(name=tmp_path.as_posix(), create_if_missing=True)
         assert hook.run("get", b"test_key0") is None, "Initially, this key in LevelDB is empty"
         hook.run("put", b"test_key0", b"test_value0")
-        assert (
-            hook.run("get", b"test_key0") == b"test_value0"
-        ), "Connection to LevelDB with PUT and GET works."
+        assert hook.run("get", b"test_key0") == b"test_value0", (
+            "Connection to LevelDB with PUT and GET works."
+        )
         hook.run("delete", b"test_key0")
         assert hook.run("get", b"test_key0") is None, "Connection to LevelDB with DELETE works."
         hook.close_conn()
diff --git a/providers/google/tests/unit/google/marketing_platform/hooks/test_display_video.py b/providers/google/tests/unit/google/marketing_platform/hooks/test_display_video.py
index 74fc448f201..a5841d57476 100644
--- a/providers/google/tests/unit/google/marketing_platform/hooks/test_display_video.py
+++ b/providers/google/tests/unit/google/marketing_platform/hooks/test_display_video.py
@@ -36,8 +36,7 @@ class TestGoogleDisplayVideo360Hook:
             self.hook = GoogleDisplayVideo360Hook(api_version=API_VERSION, gcp_conn_id=GCP_CONN_ID)
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook._authorize"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook._authorize"
     )
     @mock.patch("airflow.providers.google.marketing_platform.hooks.display_video.build")
     def test_gen_conn(self, mock_build, mock_authorize):
@@ -51,8 +50,7 @@ class TestGoogleDisplayVideo360Hook:
         assert mock_build.return_value == result
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook._authorize"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook._authorize"
     )
     @mock.patch("airflow.providers.google.marketing_platform.hooks.display_video.build")
     def test_get_conn_to_display_video(self, mock_build, mock_authorize):
@@ -66,8 +64,7 @@ class TestGoogleDisplayVideo360Hook:
         assert mock_build.return_value == result
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_create_query(self, get_conn_mock):
         body = {"body": "test"}
@@ -84,8 +81,7 @@ class TestGoogleDisplayVideo360Hook:
         assert return_value == result
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_delete_query(self, get_conn_mock):
         query_id = "QUERY_ID"
@@ -100,8 +96,7 @@ class TestGoogleDisplayVideo360Hook:
         get_conn_mock.return_value.queries.return_value.delete.assert_called_once_with(queryId=query_id)
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_get_query(self, get_conn_mock):
         query_id = "QUERY_ID"
@@ -116,8 +111,7 @@ class TestGoogleDisplayVideo360Hook:
         assert return_value == result
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_list_queries(self, get_conn_mock):
         queries = ["test"]
@@ -131,8 +125,7 @@ class TestGoogleDisplayVideo360Hook:
         assert queries == result
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_run_query(self, get_conn_mock):
         query_id = "QUERY_ID"
@@ -145,8 +138,7 @@ class TestGoogleDisplayVideo360Hook:
         )
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_download_line_items_should_be_called_once(self, get_conn_mock):
         request_body = {
@@ -159,8 +151,7 @@ class TestGoogleDisplayVideo360Hook:
         get_conn_mock.return_value.lineitems.return_value.downloadlineitems.assert_called_once()
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_download_line_items_should_be_called_with_params(self, get_conn_mock):
         request_body = {
@@ -176,8 +167,7 @@ class TestGoogleDisplayVideo360Hook:
         )
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_download_line_items_should_return_equal_values(self, get_conn_mock):
         line_item = ["holy_hand_grenade"]
@@ -198,8 +188,7 @@ class TestGoogleDisplayVideo360Hook:
         assert line_item == result
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_upload_line_items_should_be_called_once(self, get_conn_mock):
         line_items = ["this", "is", "super", "awesome", "test"]
@@ -208,8 +197,7 @@ class TestGoogleDisplayVideo360Hook:
         get_conn_mock.return_value.lineitems.return_value.uploadlineitems.assert_called_once()
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_upload_line_items_should_be_called_with_params(self, get_conn_mock):
         line_items = "I spent too much time on this"
@@ -226,8 +214,7 @@ class TestGoogleDisplayVideo360Hook:
         )
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_upload_line_items_should_return_equal_values(self, get_conn_mock):
         line_items = {"lineItems": "string", "format": "string", "dryRun": False}
@@ -380,8 +367,7 @@ class TestGoogleDisplayVideo360v2Hook:
             self.hook = GoogleDisplayVideo360Hook(api_version=self.api_version, gcp_conn_id=GCP_CONN_ID)
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook._authorize"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook._authorize"
     )
     @mock.patch("airflow.providers.google.marketing_platform.hooks.display_video.build")
     def test_gen_conn(self, mock_build, mock_authorize):
@@ -395,8 +381,7 @@ class TestGoogleDisplayVideo360v2Hook:
         assert mock_build.return_value == result
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook._authorize"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook._authorize"
     )
     @mock.patch("airflow.providers.google.marketing_platform.hooks.display_video.build")
     def test_get_conn_to_display_video(self, mock_build, mock_authorize):
@@ -410,8 +395,7 @@ class TestGoogleDisplayVideo360v2Hook:
         assert mock_build.return_value == result
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_create_query(self, get_conn_mock):
         body = {"body": "test"}
@@ -428,8 +412,7 @@ class TestGoogleDisplayVideo360v2Hook:
         assert return_value == result
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_delete_query(self, get_conn_mock):
         query_id = "QUERY_ID"
@@ -444,8 +427,7 @@ class TestGoogleDisplayVideo360v2Hook:
         get_conn_mock.return_value.queries.return_value.delete.assert_called_once_with(queryId=query_id)
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_get_query(self, get_conn_mock):
         query_id = "QUERY_ID"
@@ -460,8 +442,7 @@ class TestGoogleDisplayVideo360v2Hook:
         assert return_value == result
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_list_queries(self, get_conn_mock):
         queries = ["test"]
@@ -475,8 +456,7 @@ class TestGoogleDisplayVideo360v2Hook:
         assert queries == result
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_run_query(self, get_conn_mock):
         query_id = "QUERY_ID"
@@ -489,8 +469,7 @@ class TestGoogleDisplayVideo360v2Hook:
         )
 
     @mock.patch(
-        "airflow.providers.google.marketing_platform.hooks."
-        "display_video.GoogleDisplayVideo360Hook.get_conn"
+        "airflow.providers.google.marketing_platform.hooks.display_video.GoogleDisplayVideo360Hook.get_conn"
     )
     def test_get_report(self, get_conn_mock):
         query_id = "QUERY_ID"
diff --git a/providers/hashicorp/src/airflow/providers/hashicorp/_internal_client/vault_client.py b/providers/hashicorp/src/airflow/providers/hashicorp/_internal_client/vault_client.py
index 9daa563215a..272ecbd37f4 100644
--- a/providers/hashicorp/src/airflow/providers/hashicorp/_internal_client/vault_client.py
+++ b/providers/hashicorp/src/airflow/providers/hashicorp/_internal_client/vault_client.py
@@ -126,8 +126,7 @@ class _VaultClient(LoggingMixin):
         super().__init__()
         if kv_engine_version and kv_engine_version not in VALID_KV_VERSIONS:
             raise VaultError(
-                f"The version is not supported: {kv_engine_version}. "
-                f"It should be one of {VALID_KV_VERSIONS}"
+                f"The version is not supported: {kv_engine_version}. It should be one of {VALID_KV_VERSIONS}"
             )
         if auth_type not in VALID_AUTH_TYPES:
             raise VaultError(
diff --git a/providers/http/tests/unit/http/hooks/test_http.py b/providers/http/tests/unit/http/hooks/test_http.py
index 194f799e3d6..a3ab5269fda 100644
--- a/providers/http/tests/unit/http/hooks/test_http.py
+++ b/providers/http/tests/unit/http/hooks/test_http.py
@@ -592,12 +592,12 @@ class TestHttpHook:
             custom_adapter = HTTPAdapter()
             hook = HttpHook(method="GET", adapter=custom_adapter)
             session = hook.get_conn()
-            assert isinstance(
-                session.adapters["http://"], type(custom_adapter)
-            ), "Custom HTTP adapter not correctly mounted"
-            assert isinstance(
-                session.adapters["https://"], type(custom_adapter)
-            ), "Custom HTTPS adapter not correctly mounted"
+            assert isinstance(session.adapters["http://"], type(custom_adapter)), (
+                "Custom HTTP adapter not correctly mounted"
+            )
+            assert isinstance(session.adapters["https://"], type(custom_adapter)), (
+                "Custom HTTPS adapter not correctly mounted"
+            )
 
     def test_process_extra_options_from_connection(self):
         extra_options = {}
diff --git a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/container_instance.py b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/container_instance.py
index 4aaa668c5ae..914bfccab59 100644
--- a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/container_instance.py
+++ b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/container_instance.py
@@ -85,7 +85,7 @@ class AzureContainerInstanceHook(AzureBaseHook):
         if all([conn.login, conn.password, tenant]):
             self.log.info("Getting connection using specific credentials and subscription_id.")
             credential = ClientSecretCredential(
-                client_id=conn.login, client_secret=conn.password, tenant_id=cast(str, tenant)
+                client_id=conn.login, client_secret=conn.password, tenant_id=cast("str", tenant)
             )
         else:
             self.log.info("Using DefaultAzureCredential as credential")
@@ -96,7 +96,7 @@ class AzureContainerInstanceHook(AzureBaseHook):
                 workload_identity_tenant_id=workload_identity_tenant_id,
             )
 
-        subscription_id = cast(str, conn.extra_dejson.get("subscriptionId"))
+        subscription_id = cast("str", conn.extra_dejson.get("subscriptionId"))
         return ContainerInstanceManagementClient(
             credential=credential,
             subscription_id=subscription_id,
diff --git a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_factory.py b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_factory.py
index 2b12729f1a7..d2e2a6207b1 100644
--- a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_factory.py
+++ b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_factory.py
@@ -1104,7 +1104,7 @@ def provide_targeted_factory_async(func: T) -> T:
 
         return await func(*bound_args.args, **bound_args.kwargs)
 
-    return cast(T, wrapper)
+    return cast("T", wrapper)
 
 
 class AzureDataFactoryAsyncHook(AzureDataFactoryHook):
@@ -1193,7 +1193,7 @@ class AzureDataFactoryAsyncHook(AzureDataFactoryHook):
         :param factory_name: The factory name.
         """
         pipeline_run = await self.get_pipeline_run(run_id, resource_group_name, factory_name)
-        status: str = cast(str, pipeline_run.status)
+        status: str = cast("str", pipeline_run.status)
         return status
 
     @provide_targeted_factory_async
diff --git a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_lake.py b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_lake.py
index cc082677adf..806e6346635 100644
--- a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_lake.py
+++ b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_lake.py
@@ -328,8 +328,7 @@ class AzureDataLakeStorageV2Hook(BaseHook):
         prefix = "extra__adls__"
         if field_name.startswith("extra__"):
             raise ValueError(
-                f"Got prefixed name {field_name}; please remove the '{prefix}' prefix "
-                f"when using this method."
+                f"Got prefixed name {field_name}; please remove the '{prefix}' prefix when using this method."
             )
         if field_name in extra_dict:
             return extra_dict[field_name] or None
diff --git a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/wasb.py b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/wasb.py
index 014be1903c1..1162b4edf59 100644
--- a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/wasb.py
+++ b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/wasb.py
@@ -144,8 +144,7 @@ class WasbHook(BaseHook):
         prefix = "extra__wasb__"
         if field_name.startswith("extra__"):
             raise ValueError(
-                f"Got prefixed name {field_name}; please remove the '{prefix}' prefix "
-                f"when using this method."
+                f"Got prefixed name {field_name}; please remove the '{prefix}' prefix when using this method."
             )
         if field_name in extra_dict:
             return extra_dict[field_name] or None
diff --git a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/operators/container_instances.py b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/operators/container_instances.py
index 8b21f8226b3..ea2c96d62a5 100644
--- a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/operators/container_instances.py
+++ b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/operators/container_instances.py
@@ -120,7 +120,13 @@ class AzureContainerInstancesOperator(BaseOperator):
             },
             secured_variables=["POSTGRES_PASSWORD"],
             volumes=[
-                ("azure_container_instance_conn_id", "my_storage_container", "my_fileshare", "/input-data", True),
+                (
+                    "azure_container_instance_conn_id",
+                    "my_storage_container",
+                    "my_fileshare",
+                    "/input-data",
+                    True,
+                ),
             ],
             memory_in_gb=14.0,
             cpu=4.0,
diff --git a/providers/microsoft/azure/tests/system/microsoft/azure/example_adf_run_pipeline.py b/providers/microsoft/azure/tests/system/microsoft/azure/example_adf_run_pipeline.py
index c2e23061f15..ed95bdb0141 100644
--- a/providers/microsoft/azure/tests/system/microsoft/azure/example_adf_run_pipeline.py
+++ b/providers/microsoft/azure/tests/system/microsoft/azure/example_adf_run_pipeline.py
@@ -66,19 +66,19 @@ with DAG(
 
     pipeline_run_sensor = AzureDataFactoryPipelineRunStatusSensor(
         task_id="pipeline_run_sensor",
-        run_id=cast(str, XComArg(run_pipeline2, key="run_id")),
+        run_id=cast("str", XComArg(run_pipeline2, key="run_id")),
     )
 
     # Performs polling on the Airflow Triggerer thus freeing up resources on Airflow Worker
     pipeline_run_sensor_deferred = AzureDataFactoryPipelineRunStatusSensor(
         task_id="pipeline_run_sensor_defered",
-        run_id=cast(str, XComArg(run_pipeline2, key="run_id")),
+        run_id=cast("str", XComArg(run_pipeline2, key="run_id")),
         deferrable=True,
     )
 
     pipeline_run_async_sensor = AzureDataFactoryPipelineRunStatusSensor(
         task_id="pipeline_run_async_sensor",
-        run_id=cast(str, XComArg(run_pipeline2, key="run_id")),
+        run_id=cast("str", XComArg(run_pipeline2, key="run_id")),
         deferrable=True,
     )
     # [END howto_operator_adf_run_pipeline_async]
diff --git a/providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_wasb.py b/providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_wasb.py
index ec44cf515b8..55895879fac 100644
--- a/providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_wasb.py
+++ b/providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_wasb.py
@@ -675,6 +675,6 @@ class TestWasbHook:
         wasb_hook = WasbHook(wasb_conn_id=conn_id_str)
         account_name = wasb_hook.get_conn().account_name
 
-        assert (
-            account_name == expected_account_name
-        ), f"Expected account name {expected_account_name} but got {account_name}"
+        assert account_name == expected_account_name, (
+            f"Expected account name {expected_account_name} but got {account_name}"
+        )
diff --git a/providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_data_factory.py b/providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_data_factory.py
index f59355565dc..788f52efc37 100644
--- a/providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_data_factory.py
+++ b/providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_data_factory.py
@@ -367,8 +367,7 @@ class TestAzureDataFactoryRunPipelineOperatorWithDeferrable:
 
     @pytest.mark.db_test
     @mock.patch(
-        "airflow.providers.microsoft.azure.operators.data_factory.AzureDataFactoryRunPipelineOperator"
-        ".defer"
+        "airflow.providers.microsoft.azure.operators.data_factory.AzureDataFactoryRunPipelineOperator.defer"
     )
     @mock.patch(
         "airflow.providers.microsoft.azure.hooks.data_factory.AzureDataFactoryHook.get_pipeline_run_status",
@@ -390,8 +389,7 @@ class TestAzureDataFactoryRunPipelineOperatorWithDeferrable:
     @pytest.mark.db_test
     @pytest.mark.parametrize("status", sorted(AzureDataFactoryPipelineRunStatus.FAILURE_STATES))
     @mock.patch(
-        "airflow.providers.microsoft.azure.operators.data_factory.AzureDataFactoryRunPipelineOperator"
-        ".defer"
+        "airflow.providers.microsoft.azure.operators.data_factory.AzureDataFactoryRunPipelineOperator.defer"
     )
     @mock.patch(
         "airflow.providers.microsoft.azure.hooks.data_factory.AzureDataFactoryHook.get_pipeline_run_status",
@@ -430,9 +428,9 @@ class TestAzureDataFactoryRunPipelineOperatorWithDeferrable:
         with pytest.raises(TaskDeferred) as exc:
             self.ti.task.execute(context=self.create_context(self.ti.task))
 
-        assert isinstance(
-            exc.value.trigger, AzureDataFactoryTrigger
-        ), "Trigger is not a AzureDataFactoryTrigger"
+        assert isinstance(exc.value.trigger, AzureDataFactoryTrigger), (
+            "Trigger is not a AzureDataFactoryTrigger"
+        )
 
     @pytest.mark.db_test
     def test_azure_data_factory_run_pipeline_operator_async_execute_complete_success(self):
diff --git a/providers/microsoft/azure/tests/unit/microsoft/azure/sensors/test_data_factory.py b/providers/microsoft/azure/tests/unit/microsoft/azure/sensors/test_data_factory.py
index 6e4288ef9de..4abf612cec3 100644
--- a/providers/microsoft/azure/tests/unit/microsoft/azure/sensors/test_data_factory.py
+++ b/providers/microsoft/azure/tests/unit/microsoft/azure/sensors/test_data_factory.py
@@ -87,14 +87,13 @@ class TestAzureDataFactoryPipelineRunStatusSensor:
         mock_hook.return_value.get_pipeline_run_status.return_value = AzureDataFactoryPipelineRunStatus.QUEUED
         with pytest.raises(TaskDeferred) as exc:
             self.defered_sensor.execute(mock.MagicMock())
-        assert isinstance(
-            exc.value.trigger, ADFPipelineRunStatusSensorTrigger
-        ), "Trigger is not a ADFPipelineRunStatusSensorTrigger"
+        assert isinstance(exc.value.trigger, ADFPipelineRunStatusSensorTrigger), (
+            "Trigger is not a ADFPipelineRunStatusSensorTrigger"
+        )
 
     @mock.patch("airflow.providers.microsoft.azure.sensors.data_factory.AzureDataFactoryHook")
     @mock.patch(
-        "airflow.providers.microsoft.azure.sensors.data_factory"
-        ".AzureDataFactoryPipelineRunStatusSensor.defer"
+        "airflow.providers.microsoft.azure.sensors.data_factory.AzureDataFactoryPipelineRunStatusSensor.defer"
     )
     def test_adf_pipeline_status_sensor_finish_before_deferred(self, mock_defer, mock_hook):
         mock_hook.return_value.get_pipeline_run_status.return_value = (
@@ -134,9 +133,9 @@ class TestAzureDataFactoryPipelineRunStatusSensorWithAsync:
         mock_hook.return_value.get_pipeline_run_status.return_value = AzureDataFactoryPipelineRunStatus.QUEUED
         with pytest.raises(TaskDeferred) as exc:
             self.SENSOR.execute({})
-        assert isinstance(
-            exc.value.trigger, ADFPipelineRunStatusSensorTrigger
-        ), "Trigger is not a ADFPipelineRunStatusSensorTrigger"
+        assert isinstance(exc.value.trigger, ADFPipelineRunStatusSensorTrigger), (
+            "Trigger is not a ADFPipelineRunStatusSensorTrigger"
+        )
 
     def test_adf_pipeline_status_sensor_execute_complete_success(self):
         """Assert execute_complete log success message when trigger fire with target status"""
diff --git a/providers/microsoft/azure/tests/unit/microsoft/azure/sensors/test_wasb.py b/providers/microsoft/azure/tests/unit/microsoft/azure/sensors/test_wasb.py
index f89b2319d11..c93db4ea05b 100644
--- a/providers/microsoft/azure/tests/unit/microsoft/azure/sensors/test_wasb.py
+++ b/providers/microsoft/azure/tests/unit/microsoft/azure/sensors/test_wasb.py
@@ -305,9 +305,9 @@ class TestWasbPrefixAsyncSensor:
         mock_hook.return_value.check_for_prefix.return_value = False
         with pytest.raises(TaskDeferred) as exc:
             self.SENSOR.execute(self.create_context(self.SENSOR))
-        assert isinstance(
-            exc.value.trigger, WasbPrefixSensorTrigger
-        ), "Trigger is not a WasbPrefixSensorTrigger"
+        assert isinstance(exc.value.trigger, WasbPrefixSensorTrigger), (
+            "Trigger is not a WasbPrefixSensorTrigger"
+        )
 
     @pytest.mark.parametrize(
         "event",
diff --git a/providers/microsoft/mssql/src/airflow/providers/microsoft/mssql/dialects/mssql.py b/providers/microsoft/mssql/src/airflow/providers/microsoft/mssql/dialects/mssql.py
index 0c0ba72309a..9203eb4e414 100644
--- a/providers/microsoft/mssql/src/airflow/providers/microsoft/mssql/dialects/mssql.py
+++ b/providers/microsoft/mssql/src/airflow/providers/microsoft/mssql/dialects/mssql.py
@@ -56,14 +56,14 @@ class MsSqlDialect(Dialect):
         self.log.debug("columns: %s", columns)
 
         sql = f"""MERGE INTO {table} WITH (ROWLOCK) AS target
-            USING (SELECT {', '.join(map(lambda column: f'{self.placeholder} AS {self.escape_word(column)}', target_fields))}) AS source
-            ON {' AND '.join(map(lambda column: f'target.{self.escape_word(column)} = source.{self.escape_word(column)}', primary_keys))}"""
+            USING (SELECT {", ".join(map(lambda column: f"{self.placeholder} AS {self.escape_word(column)}", target_fields))}) AS source
+            ON {" AND ".join(map(lambda column: f"target.{self.escape_word(column)} = source.{self.escape_word(column)}", primary_keys))}"""
 
         if columns:
             sql = f"""{sql}
             WHEN MATCHED THEN
-                UPDATE SET {', '.join(map(lambda column: f'target.{column} = source.{column}', columns))}"""
+                UPDATE SET {", ".join(map(lambda column: f"target.{column} = source.{column}", columns))}"""
 
         return f"""{sql}
             WHEN NOT MATCHED THEN
-                INSERT ({', '.join(map(self.escape_word, target_fields))}) VALUES ({', '.join(map(lambda column: f'source.{self.escape_word(column)}', target_fields))});"""
+                INSERT ({", ".join(map(self.escape_word, target_fields))}) VALUES ({", ".join(map(lambda column: f"source.{self.escape_word(column)}", target_fields))});"""
diff --git a/providers/odbc/src/airflow/providers/odbc/hooks/odbc.py b/providers/odbc/src/airflow/providers/odbc/hooks/odbc.py
index 1d9ebb6fc37..7ba3d3d57f0 100644
--- a/providers/odbc/src/airflow/providers/odbc/hooks/odbc.py
+++ b/providers/odbc/src/airflow/providers/odbc/hooks/odbc.py
@@ -223,7 +223,7 @@ class OdbcHook(DbApiHook):
         if isinstance(result, Sequence):
             field_names = [col[0] for col in result[0].cursor_description]
             row_object = namedtuple("Row", field_names, rename=True)  # type: ignore
-            return cast(list[tuple], [row_object(*row) for row in result])
+            return cast("list[tuple]", [row_object(*row) for row in result])
         else:
             field_names = [col[0] for col in result.cursor_description]
-            return cast(tuple, namedtuple("Row", field_names, rename=True)(*result))  # type: ignore
+            return cast("tuple", namedtuple("Row", field_names, rename=True)(*result))  # type: ignore
diff --git a/providers/openlineage/tests/unit/openlineage/extractors/test_manager.py b/providers/openlineage/tests/unit/openlineage/extractors/test_manager.py
index dde336c6a62..1aaaf2ff317 100644
--- a/providers/openlineage/tests/unit/openlineage/extractors/test_manager.py
+++ b/providers/openlineage/tests/unit/openlineage/extractors/test_manager.py
@@ -385,7 +385,9 @@ def mocked_parse(spy_agency):
 
             mocked_parse(
                 StartupDetails(
-                    ti=TaskInstance(id=uuid7(), task_id="hello", dag_id="super_basic_run", run_id="c", try_number=1),
+                    ti=TaskInstance(
+                        id=uuid7(), task_id="hello", dag_id="super_basic_run", run_id="c", try_number=1
+                    ),
                     file="",
                     requests_fd=0,
                 ),
diff --git a/providers/qdrant/tests/integration/qdrant/operators/test_qdrant_ingest.py b/providers/qdrant/tests/integration/qdrant/operators/test_qdrant_ingest.py
index 534622ec907..6aded06fffe 100644
--- a/providers/qdrant/tests/integration/qdrant/operators/test_qdrant_ingest.py
+++ b/providers/qdrant/tests/integration/qdrant/operators/test_qdrant_ingest.py
@@ -66,6 +66,6 @@ class TestQdrantIngestOperator:
 
         operator.execute(self.mock_context)
 
-        assert (
-            hook.conn.count(collection_name=collection_name).count == points_count
-        ), f"Added {points_count} points to the Qdrant collection"
+        assert hook.conn.count(collection_name=collection_name).count == points_count, (
+            f"Added {points_count} points to the Qdrant collection"
+        )
diff --git a/providers/smtp/src/airflow/providers/smtp/notifications/smtp.py b/providers/smtp/src/airflow/providers/smtp/notifications/smtp.py
index 721c2e75d87..6d467c29956 100644
--- a/providers/smtp/src/airflow/providers/smtp/notifications/smtp.py
+++ b/providers/smtp/src/airflow/providers/smtp/notifications/smtp.py
@@ -34,7 +34,7 @@ class SmtpNotifier(BaseNotifier):
 
     .. code-block:: python
 
-        EmptyOperator(task_id="task", on_failure_callback=SmtpNotifier(from_email=None, to="myemail@myemail.com"))
+        EmptyOperator(task_id="task", on_failure_callback=SmtpNotifier(from_email=None, to="my@mail.com"))
 
         EmptyOperator(
             task_id="task",
diff --git a/providers/snowflake/src/airflow/providers/snowflake/operators/snowflake.py b/providers/snowflake/src/airflow/providers/snowflake/operators/snowflake.py
index ad66bf6b2a5..b4eb71079f2 100644
--- a/providers/snowflake/src/airflow/providers/snowflake/operators/snowflake.py
+++ b/providers/snowflake/src/airflow/providers/snowflake/operators/snowflake.py
@@ -505,7 +505,7 @@ class SnowflakeSqlApiOperator(SQLExecuteQueryOperator):
                 raise AirflowException(msg)
             elif "status" in event and event["status"] == "success":
                 hook = SnowflakeSqlApiHook(snowflake_conn_id=self.snowflake_conn_id)
-                query_ids = cast(list[str], event["statement_query_ids"])
+                query_ids = cast("list[str]", event["statement_query_ids"])
                 hook.check_query_output(query_ids)
                 self.log.info("%s completed successfully.", self.task_id)
         else:
diff --git a/providers/snowflake/tests/unit/snowflake/operators/test_snowflake.py b/providers/snowflake/tests/unit/snowflake/operators/test_snowflake.py
index 7d39ec7a821..1651818ed54 100644
--- a/providers/snowflake/tests/unit/snowflake/operators/test_snowflake.py
+++ b/providers/snowflake/tests/unit/snowflake/operators/test_snowflake.py
@@ -289,9 +289,9 @@ class TestSnowflakeSqlApiOperator:
         with pytest.raises(TaskDeferred) as exc:
             operator.execute(create_context(operator))
 
-        assert isinstance(
-            exc.value.trigger, SnowflakeSqlApiTrigger
-        ), "Trigger is not a SnowflakeSqlApiTrigger"
+        assert isinstance(exc.value.trigger, SnowflakeSqlApiTrigger), (
+            "Trigger is not a SnowflakeSqlApiTrigger"
+        )
 
     def test_snowflake_sql_api_execute_complete_failure(self):
         """Test SnowflakeSqlApiOperator raise AirflowException of error event"""
diff --git a/providers/standard/src/airflow/providers/standard/operators/bash.py b/providers/standard/src/airflow/providers/standard/operators/bash.py
index 02a3c03afbd..3be7b58d16b 100644
--- a/providers/standard/src/airflow/providers/standard/operators/bash.py
+++ b/providers/standard/src/airflow/providers/standard/operators/bash.py
@@ -253,7 +253,7 @@ class BashOperator(BaseOperator):
         """
         with working_directory(cwd=self.cwd) as cwd:
             with tempfile.NamedTemporaryFile(mode="w", dir=cwd, suffix=".sh") as file:
-                file.write(cast(str, self.bash_command))
+                file.write(cast("str", self.bash_command))
                 file.flush()
 
                 bash_script = os.path.basename(file.name)
diff --git a/providers/standard/src/airflow/providers/standard/operators/python.py b/providers/standard/src/airflow/providers/standard/operators/python.py
index 8523a9d670b..67a79a40b1e 100644
--- a/providers/standard/src/airflow/providers/standard/operators/python.py
+++ b/providers/standard/src/airflow/providers/standard/operators/python.py
@@ -460,8 +460,7 @@ class _BasePythonVirtualenvOperator(PythonOperator, metaclass=ABCMeta):
         serializer = serializer or "pickle"
         if serializer not in _SERIALIZERS:
             msg = (
-                f"Unsupported serializer {serializer!r}. "
-                f"Expected one of {', '.join(map(repr, _SERIALIZERS))}"
+                f"Unsupported serializer {serializer!r}. Expected one of {', '.join(map(repr, _SERIALIZERS))}"
             )
             raise AirflowException(msg)
 
@@ -1142,7 +1141,6 @@ def _get_current_context() -> Mapping[str, Any]:
 
     if not _CURRENT_CONTEXT:
         raise RuntimeError(
-            "Current context was requested but no context was found! "
-            "Are you running within an Airflow task?"
+            "Current context was requested but no context was found! Are you running within an Airflow task?"
         )
     return _CURRENT_CONTEXT[-1]
diff --git a/providers/standard/src/airflow/providers/standard/sensors/external_task.py b/providers/standard/src/airflow/providers/standard/sensors/external_task.py
index 0b6ab06b349..0a34cc5d48f 100644
--- a/providers/standard/src/airflow/providers/standard/sensors/external_task.py
+++ b/providers/standard/src/airflow/providers/standard/sensors/external_task.py
@@ -400,8 +400,7 @@ class ExternalTaskSensor(BaseSensorOperator, BaseOperator):
             for external_task_id in self.external_task_ids:
                 if not refreshed_dag_info.has_task(external_task_id):
                     raise AirflowException(
-                        f"The external task {external_task_id} in "
-                        f"DAG {self.external_dag_id} does not exist."
+                        f"The external task {external_task_id} in DAG {self.external_dag_id} does not exist."
                     )
 
         if self.external_task_group_id:
diff --git a/providers/standard/src/airflow/providers/standard/triggers/external_task.py b/providers/standard/src/airflow/providers/standard/triggers/external_task.py
index 0ba3ba31005..3c1e6747685 100644
--- a/providers/standard/src/airflow/providers/standard/triggers/external_task.py
+++ b/providers/standard/src/airflow/providers/standard/triggers/external_task.py
@@ -208,4 +208,4 @@ class DagStateTrigger(BaseTrigger):
             )
             .scalar()
         )
-        return typing.cast(int, count)
+        return typing.cast("int", count)
diff --git a/providers/standard/src/airflow/providers/standard/utils/sensor_helper.py b/providers/standard/src/airflow/providers/standard/utils/sensor_helper.py
index 8c4524cba65..db796373833 100644
--- a/providers/standard/src/airflow/providers/standard/utils/sensor_helper.py
+++ b/providers/standard/src/airflow/providers/standard/utils/sensor_helper.py
@@ -74,7 +74,7 @@ def _get_count(
             ) / len(external_task_group_task_ids)
     else:
         count = session.scalar(_count_stmt(DR, states, dttm_filter, external_dag_id))
-    return cast(int, count)
+    return cast("int", count)
 
 
 def _count_stmt(model, states, dttm_filter, external_dag_id) -> Executable:
diff --git a/providers/standard/tests/unit/standard/decorators/test_python.py b/providers/standard/tests/unit/standard/decorators/test_python.py
index 03b86fee93a..29e5af2ab7f 100644
--- a/providers/standard/tests/unit/standard/decorators/test_python.py
+++ b/providers/standard/tests/unit/standard/decorators/test_python.py
@@ -851,9 +851,9 @@ def test_task_decorator_has_wrapped_attr():
 
     decorated_test_func = task_decorator(org_test_func)
 
-    assert hasattr(
-        decorated_test_func, "__wrapped__"
-    ), "decorated function does not have __wrapped__ attribute"
+    assert hasattr(decorated_test_func, "__wrapped__"), (
+        "decorated function does not have __wrapped__ attribute"
+    )
     assert decorated_test_func.__wrapped__ is org_test_func, "__wrapped__ attr is not the original function"
 
 
@@ -869,9 +869,9 @@ def test_task_decorator_has_doc_attr():
 
     decorated_test_func = task_decorator(org_test_func)
     assert hasattr(decorated_test_func, "__doc__"), "decorated function should have __doc__ attribute"
-    assert (
-        decorated_test_func.__doc__ == org_test_func.__doc__
-    ), "__doc__ attr should be the original docstring"
+    assert decorated_test_func.__doc__ == org_test_func.__doc__, (
+        "__doc__ attr should be the original docstring"
+    )
 
 
 def test_upstream_exception_produces_none_xcom(dag_maker, session):
diff --git a/providers/standard/tests/unit/standard/operators/test_datetime.py b/providers/standard/tests/unit/standard/operators/test_datetime.py
index 790a4d8c549..eab06756610 100644
--- a/providers/standard/tests/unit/standard/operators/test_datetime.py
+++ b/providers/standard/tests/unit/standard/operators/test_datetime.py
@@ -99,9 +99,9 @@ class TestBranchDateTimeOperator:
             except KeyError:
                 raise ValueError(f"Invalid task id {ti.task_id} found!")
             else:
-                assert ti.state == (
-                    expected_state
-                ), f"Task {ti.task_id} has state {ti.state} instead of expected {expected_state}"
+                assert ti.state == (expected_state), (
+                    f"Task {ti.task_id} has state {ti.state} instead of expected {expected_state}"
+                )
 
     def test_no_target_time(self):
         """Check if BranchDateTimeOperator raises exception on missing target"""
diff --git a/providers/teradata/src/airflow/providers/teradata/operators/teradata_compute_cluster.py b/providers/teradata/src/airflow/providers/teradata/operators/teradata_compute_cluster.py
index 1648d8dd618..3257465f344 100644
--- a/providers/teradata/src/airflow/providers/teradata/operators/teradata_compute_cluster.py
+++ b/providers/teradata/src/airflow/providers/teradata/operators/teradata_compute_cluster.py
@@ -170,7 +170,7 @@ class _TeradataComputeClusterOperator(BaseOperator):
         self.defer(
             timeout=timedelta(minutes=self.timeout),
             trigger=TeradataComputeClusterSyncTrigger(
-                teradata_conn_id=cast(str, self.teradata_conn_id),
+                teradata_conn_id=cast("str", self.teradata_conn_id),
                 compute_profile_name=self.compute_profile_name,
                 compute_group_name=self.compute_group_name,
                 operation_type=operation_type,
diff --git a/providers/weaviate/src/airflow/providers/weaviate/hooks/weaviate.py b/providers/weaviate/src/airflow/providers/weaviate/hooks/weaviate.py
index e49cc58f024..f70c9348451 100644
--- a/providers/weaviate/src/airflow/providers/weaviate/hooks/weaviate.py
+++ b/providers/weaviate/src/airflow/providers/weaviate/hooks/weaviate.py
@@ -266,7 +266,7 @@ class WeaviateHook(BaseHook):
 
             if isinstance(data, pandas.DataFrame):
                 data = json.loads(data.to_json(orient="records"))
-        return cast(list[dict[str, Any]], data)
+        return cast("list[dict[str, Any]]", data)
 
     def batch_data(
         self,
@@ -787,12 +787,12 @@ class WeaviateHook(BaseHook):
 
         if isinstance(data, Sequence) and isinstance(data[0], dict):
             # This is done to narrow the type to list[dict[str, Any].
-            data = pd.json_normalize(cast(list[dict[str, Any]], data))
+            data = pd.json_normalize(cast("list[dict[str, Any]]", data))
         elif isinstance(data, Sequence) and isinstance(data[0], pd.DataFrame):
             # This is done to narrow the type to list[pd.DataFrame].
-            data = pd.concat(cast(list[pd.DataFrame], data), ignore_index=True)
+            data = pd.concat(cast("list[pd.DataFrame]", data), ignore_index=True)
         else:
-            data = cast(pd.DataFrame, data)
+            data = cast("pd.DataFrame", data)
 
         unique_columns = sorted(data.columns.to_list())
 
diff --git a/providers/weaviate/tests/unit/weaviate/operators/test_weaviate.py b/providers/weaviate/tests/unit/weaviate/operators/test_weaviate.py
index a90c1c53805..aa3be7a3cd8 100644
--- a/providers/weaviate/tests/unit/weaviate/operators/test_weaviate.py
+++ b/providers/weaviate/tests/unit/weaviate/operators/test_weaviate.py
@@ -24,7 +24,7 @@ from airflow.utils.task_instance_session import set_current_task_instance_sessio
 
 pytest.importorskip("weaviate")
 
-from airflow.providers.weaviate.operators.weaviate import (  # noqa: E402
+from airflow.providers.weaviate.operators.weaviate import (
     WeaviateDocumentIngestOperator,
     WeaviateIngestOperator,
 )
diff --git a/pyproject.toml b/pyproject.toml
index 8a1e128c0f9..2e84ca4abde 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -369,7 +369,7 @@ testing = ["dev", "providers.tests", "tests_common", "tests", "system", "unit",
 # Remove some docstring rules from files that do not need docstrings
 "providers/apache/hdfs/src/airflow/providers/apache/hdfs/sensors/hdfs.py" = ["D101"]
 
-
+"docs/exts/exampleinclude.py" = ["E402", 'F401', ]
 
 # All the modules which do not follow B028 yet: https://docs.astral.sh/ruff/rules/no-explicit-stacklevel/
 "helm_tests/airflow_aux/test_basic_helm_chart.py" = ["B028"]
diff --git a/scripts/ci/pre_commit/breeze_cmd_line.py b/scripts/ci/pre_commit/breeze_cmd_line.py
index c56ae9710a2..9e248c9a7b6 100755
--- a/scripts/ci/pre_commit/breeze_cmd_line.py
+++ b/scripts/ci/pre_commit/breeze_cmd_line.py
@@ -73,8 +73,7 @@ return_code = 0
 verify_all_commands_described_in_docs()
 if is_regeneration_needed():
     console.print(
-        "\n[bright_blue]Some of the commands changed since last time "
-        "images were generated. Regenerating.\n"
+        "\n[bright_blue]Some of the commands changed since last time images were generated. Regenerating.\n"
     )
     return_code = 1
     res = subprocess.run(
diff --git a/scripts/ci/pre_commit/check_deprecations.py b/scripts/ci/pre_commit/check_deprecations.py
index 13717c9a91f..fad1009463e 100755
--- a/scripts/ci/pre_commit/check_deprecations.py
+++ b/scripts/ci/pre_commit/check_deprecations.py
@@ -199,8 +199,7 @@ def check_decorators(mod: ast.Module, file: str, file_group: str) -> int:
                 if not any(cv.endswith(category_value) for cv in warns_types):
                     errors += 1
                     print(
-                        f"{file}:{category_keyword.lineno}: "
-                        f"category={category_value}, but {expected_types}"
+                        f"{file}:{category_keyword.lineno}: category={category_value}, but {expected_types}"
                     )
                 errors += validate_end_of_life_deprecation_warnings(
                     file_path=file, decorator=decorator, warning_class=category_value
diff --git a/scripts/ci/pre_commit/sort_in_the_wild.py b/scripts/ci/pre_commit/sort_in_the_wild.py
index cfe2047236b..64b1cdb257c 100755
--- a/scripts/ci/pre_commit/sort_in_the_wild.py
+++ b/scripts/ci/pre_commit/sort_in_the_wild.py
@@ -53,7 +53,7 @@ if __name__ == "__main__":
             match = NUMBER_MATCH.match(line)
             if not match:
                 print(
-                    f"\033[0;31mERROR: The {index+1} line in `INTHEWILD.md` should begin with '1.'. "
+                    f"\033[0;31mERROR: The {index + 1} line in `INTHEWILD.md` should begin with '1.'. "
                     f"Please fix it !\033[0m\n"
                 )
                 print(line)
@@ -61,7 +61,7 @@ if __name__ == "__main__":
                 sys.exit(1)
             if not line.startswith("1."):
                 print(
-                    f"\033[0;33mWARNING: The {index+1} line in `INTHEWILD.md` should begin with '1.' "
+                    f"\033[0;33mWARNING: The {index + 1} line in `INTHEWILD.md` should begin with '1.' "
                     f"but it starts with {match.group(1)} Replacing the number with 1.\033[0m\n"
                 )
                 old_line = line
diff --git a/scripts/ci/pre_commit/update_example_dags_paths.py b/scripts/ci/pre_commit/update_example_dags_paths.py
index a60a408ab34..3a3a6a9807b 100755
--- a/scripts/ci/pre_commit/update_example_dags_paths.py
+++ b/scripts/ci/pre_commit/update_example_dags_paths.py
@@ -66,7 +66,7 @@ def replace_match(file: Path, line: str) -> str | None:
         provider, version = get_provider_and_version(url_path_to_dir)
         proper_system_tests_url = (
             f"https://github.com/apache/airflow/tree/providers-{provider}/{version}"
-            f"/providers/{provider.replace('.','/')}/tests/system/{url_path_to_dir}"
+            f"/providers/{provider.replace('.', '/')}/tests/system/{url_path_to_dir}"
         )
         if not example_dags_folder.exists():
             if proper_system_tests_url in file.read_text():
diff --git a/scripts/ci/testing/summarize_junit_failures.py b/scripts/ci/testing/summarize_junit_failures.py
index d7d795aa482..f404326be4f 100755
--- a/scripts/ci/testing/summarize_junit_failures.py
+++ b/scripts/ci/testing/summarize_junit_failures.py
@@ -98,11 +98,11 @@ def summarize_file(input, test_type, backend):
     for testcase in testsuite.findall(".//testcase[error]"):
         case_name = translate_name(testcase)
         for err in testcase.iterfind("error"):
-            print(f'{case_name}: {TEXT_YELLOW}{err.get("message")}{TEXT_RESET}')
+            print(f"{case_name}: {TEXT_YELLOW}{err.get('message')}{TEXT_RESET}")
     for testcase in testsuite.findall(".//testcase[failure]"):
         case_name = translate_name(testcase)
         for failure in testcase.iterfind("failure"):
-            print(f'{case_name}: {TEXT_YELLOW}{failure.get("message")}{TEXT_RESET}')
+            print(f"{case_name}: {TEXT_YELLOW}{failure.get('message')}{TEXT_RESET}")
 
 
 if __name__ == "__main__":
diff --git a/scripts/in_container/install_airflow_and_providers.py b/scripts/in_container/install_airflow_and_providers.py
index a26e8c8ad0c..caf50c816fe 100755
--- a/scripts/in_container/install_airflow_and_providers.py
+++ b/scripts/in_container/install_airflow_and_providers.py
@@ -128,8 +128,7 @@ def get_airflow_constraints_location(
         return airflow_constraints_location
     if airflow_constraints_reference:
         console.print(
-            f"[info]Building constraints location from "
-            f"constraints reference: {airflow_constraints_reference}"
+            f"[info]Building constraints location from constraints reference: {airflow_constraints_reference}"
         )
     elif airflow_package_version:
         if re.match(r"[0-9]+\.[0-9]+\.[0-9]+[0-9a-z.]*|main|v[0-9]_.*", airflow_package_version):
@@ -335,8 +334,7 @@ def find_installation_spec(
             python_version=python_version,
         )
         console.print(
-            "\nDo not install airflow task-sdk. It should be installed automatically if needed "
-            "by providers."
+            "\nDo not install airflow task-sdk. It should be installed automatically if needed by providers."
         )
         airflow_task_sdk_distribution = None
         airflow_task_sdk_constraints_location = None
diff --git a/scripts/in_container/install_development_dependencies.py b/scripts/in_container/install_development_dependencies.py
index 3ea647c5f0b..c4449e88bbd 100755
--- a/scripts/in_container/install_development_dependencies.py
+++ b/scripts/in_container/install_development_dependencies.py
@@ -33,7 +33,7 @@ import sys
 from pathlib import Path
 
 sys.path.insert(0, str(Path(__file__).parent.resolve()))
-from in_container_utils import AIRFLOW_ROOT_PATH, click, run_command
+from in_container_utils import AIRFLOW_ROOT_PATH, click, console, run_command
 from packaging.requirements import Requirement
 
 
@@ -76,9 +76,16 @@ def install_development_dependencies(constraint: str, github_actions: bool):
     )
     for provider_id in providers_dependencies:
         development_dependencies.extend(providers_dependencies[provider_id]["devel-deps"])
-
     command = ["uv", "pip", "install", *development_dependencies, "--constraints", constraint]
-    run_command(command, check=True, github_actions=github_actions)
+    result = run_command(command, check=False, github_actions=github_actions)
+    if result.returncode != 0:
+        console.print("[yellow]Failed to install development dependencies with constraints[/]\n")
+        console.print("Trying without constraints\n")
+        command = ["uv", "pip", "install", *development_dependencies]
+        result = run_command(command, check=False, github_actions=github_actions)
+        if result.returncode != 0:
+            console.print("[red]Failed to install development dependencies even without constraints[/]")
+            sys.exit(1)
 
 
 if __name__ == "__main__":
diff --git a/scripts/in_container/run_generate_constraints.py b/scripts/in_container/run_generate_constraints.py
index 4b07b0994fa..8f7799ded78 100755
--- a/scripts/in_container/run_generate_constraints.py
+++ b/scripts/in_container/run_generate_constraints.py
@@ -317,7 +317,7 @@ def uninstall_all_packages(config_params: ConfigParams):
 
 def get_all_active_provider_distributions(python_version: str | None = None) -> list[str]:
     return [
-        f"apache-airflow-providers-{provider.replace('.','-')}"
+        f"apache-airflow-providers-{provider.replace('.', '-')}"
         for provider in ALL_PROVIDER_DEPENDENCIES.keys()
         if ALL_PROVIDER_DEPENDENCIES[provider]["state"] == "ready"
         and (
@@ -354,14 +354,14 @@ def generate_constraints_pypi_providers(config_params: ConfigParams) -> None:
     console.print("[bright_blue]Installing Airflow with PyPI providers with eager upgrade")
     if config_params.chicken_egg_providers:
         for chicken_egg_provider in config_params.chicken_egg_providers.split(" "):
-            chicken_egg_prefixes.append(f"apache-airflow-providers-{chicken_egg_provider.replace('.','-')}")
+            chicken_egg_prefixes.append(f"apache-airflow-providers-{chicken_egg_provider.replace('.', '-')}")
         console.print(
             f"[bright_blue]Checking if {chicken_egg_prefixes} are available in local dist folder "
             f"as chicken egg providers)"
         )
     for provider_package in all_provider_distributions:
         if config_params.chicken_egg_providers and provider_package.startswith(tuple(chicken_egg_prefixes)):
-            glob_pattern = f"{provider_package.replace('-','_')}-*.whl"
+            glob_pattern = f"{provider_package.replace('-', '_')}-*.whl"
             console.print(
                 f"[bright_blue]Checking if {provider_package} is available in local dist folder "
                 f"with {glob_pattern} pattern"
@@ -369,8 +369,7 @@ def generate_constraints_pypi_providers(config_params: ConfigParams) -> None:
             files = AIRFLOW_DIST_PATH.glob(glob_pattern)
             for file in files:
                 console.print(
-                    f"[yellow]Installing {file.name} from local dist folder as it is "
-                    f"a chicken egg provider"
+                    f"[yellow]Installing {file.name} from local dist folder as it is a chicken egg provider"
                 )
                 packages_to_install.append(f"{provider_package} @ file://{file.as_posix()}")
                 break
@@ -423,8 +422,7 @@ def generate_constraints_no_providers(config_params: ConfigParams) -> None:
     """
     uninstall_all_packages(config_params)
     console.print(
-        "[bright_blue]Installing airflow with `all-core` extras only with eager upgrade in "
-        "installable mode."
+        "[bright_blue]Installing airflow with `all-core` extras only with eager upgrade in installable mode."
     )
     install_local_airflow_with_eager_upgrade(config_params)
     console.print("[success]Installed airflow with [all-core] extras only with eager upgrade.")
diff --git a/scripts/in_container/run_provider_yaml_files_check.py b/scripts/in_container/run_provider_yaml_files_check.py
index 3f9a3671fc1..348997b4888 100755
--- a/scripts/in_container/run_provider_yaml_files_check.py
+++ b/scripts/in_container/run_provider_yaml_files_check.py
@@ -295,7 +295,7 @@ def parse_module_data(provider_data, resource_type, yaml_file_path):
     expected_modules = {
         _filepath_to_module(f)
         for f in py_files
-        if f.name != "__init__.py" and f"{module.replace('.','/')}/tests/" not in f.as_posix()
+        if f.name != "__init__.py" and f"{module.replace('.', '/')}/tests/" not in f.as_posix()
     }
     resource_data = provider_data.get(resource_type, [])
     return expected_modules, _filepath_to_module(provider_dir), resource_data
diff --git a/scripts/tools/generate-integrations-json.py b/scripts/tools/generate-integrations-json.py
index e66c28d9c0c..b58ab3cc314 100755
--- a/scripts/tools/generate-integrations-json.py
+++ b/scripts/tools/generate-integrations-json.py
@@ -53,7 +53,7 @@ for provider_info in ALL_PROVIDER_YAMLS:
         doc_url = integration.get("how-to-guide")
         if doc_url:
             doc_url = doc_url[0].strip()
-            doc_url = re.sub(f'/{provider_info["package-name"]}/', r"\g<0>stable/", doc_url)
+            doc_url = re.sub(f"/{provider_info['package-name']}/", r"\g<0>stable/", doc_url)
             doc_url = re.sub(r"\.rst", ".html", doc_url)
         else:
             doc_url = f"/docs/{provider_info['package-name'].lower()}/stable/index.html"
diff --git a/task-sdk/src/airflow/sdk/bases/operator.py b/task-sdk/src/airflow/sdk/bases/operator.py
index b4b17402669..87e0e79c61e 100644
--- a/task-sdk/src/airflow/sdk/bases/operator.py
+++ b/task-sdk/src/airflow/sdk/bases/operator.py
@@ -499,7 +499,7 @@ class BaseOperatorMeta(abc.ABCMeta):
         apply_defaults.__non_optional_args = non_optional_args  # type: ignore
         apply_defaults.__param_names = set(non_variadic_params)  # type: ignore
 
-        return cast(T, apply_defaults)
+        return cast("T", apply_defaults)
 
     def __new__(cls, name, bases, namespace, **kwargs):
         execute_method = namespace.get("execute")
@@ -1406,7 +1406,9 @@ class BaseOperator(AbstractOperator, metaclass=BaseOperatorMeta):
             # This is equivalent to
             with DAG(...):
                 generate_content = GenerateContentOperator(task_id="generate_content")
-                send_email = EmailOperator(..., html_content="{{ task_instance.xcom_pull('generate_content') }}")
+                send_email = EmailOperator(
+                    ..., html_content="{{ task_instance.xcom_pull('generate_content') }}"
+                )
                 generate_content >> send_email
 
         """
diff --git a/task-sdk/src/airflow/sdk/definitions/dag.py b/task-sdk/src/airflow/sdk/definitions/dag.py
index ef2f0b0d0bd..b7249587a23 100644
--- a/task-sdk/src/airflow/sdk/definitions/dag.py
+++ b/task-sdk/src/airflow/sdk/definitions/dag.py
@@ -67,7 +67,6 @@ from airflow.timetables.simple import (
 from airflow.utils.dag_cycle_tester import check_cycle
 from airflow.utils.decorators import fixup_decorator_warning_stack
 from airflow.utils.trigger_rule import TriggerRule
-from airflow.utils.types import EdgeInfoType
 
 if TYPE_CHECKING:
     # TODO: Task-SDK: Remove pendulum core dep
@@ -77,6 +76,7 @@ if TYPE_CHECKING:
     from airflow.sdk.definitions.abstractoperator import Operator
     from airflow.sdk.definitions.taskgroup import TaskGroup
     from airflow.typing_compat import Self
+    from airflow.utils.types import EdgeInfoType
 
 
 log = logging.getLogger(__name__)
@@ -992,7 +992,7 @@ class DAG:
     def get_edge_info(self, upstream_task_id: str, downstream_task_id: str) -> EdgeInfoType:
         """Return edge information for the given pair of tasks or an empty edge if there is no information."""
         # Note - older serialized DAGs may not have edge_info being a dict at all
-        empty = cast(EdgeInfoType, {})
+        empty = cast("EdgeInfoType", {})
         if self.edge_info:
             return self.edge_info.get(upstream_task_id, {}).get(downstream_task_id, empty)
         else:
diff --git a/task-sdk/src/airflow/sdk/execution_time/callback_runner.py b/task-sdk/src/airflow/sdk/execution_time/callback_runner.py
index 31f701074cf..f35d76d0589 100644
--- a/task-sdk/src/airflow/sdk/execution_time/callback_runner.py
+++ b/task-sdk/src/airflow/sdk/execution_time/callback_runner.py
@@ -107,4 +107,4 @@ def create_executable_runner(
 
             return result  # noqa: F821  # Ruff is not smart enough to know this is always set in _run().
 
-    return cast(_ExecutionCallableRunner[P, R], _ExecutionCallableRunnerImpl)
+    return cast("_ExecutionCallableRunner[P, R]", _ExecutionCallableRunnerImpl)
diff --git a/task-sdk/src/airflow/sdk/execution_time/context.py b/task-sdk/src/airflow/sdk/execution_time/context.py
index 843ec37a24a..a85864ef288 100644
--- a/task-sdk/src/airflow/sdk/execution_time/context.py
+++ b/task-sdk/src/airflow/sdk/execution_time/context.py
@@ -166,8 +166,7 @@ def _get_variable(key: str, deserialize_json: bool) -> Any:
                 return var_val
         except Exception:
             log.exception(
-                "Unable to retrieve variable from secrets backend (%s). "
-                "Checking subsequent secrets backend.",
+                "Unable to retrieve variable from secrets backend (%s). Checking subsequent secrets backend.",
                 type(secrets_backend).__name__,
             )
 
diff --git a/task-sdk/src/airflow/sdk/execution_time/supervisor.py b/task-sdk/src/airflow/sdk/execution_time/supervisor.py
index 133e97ce9a5..22aa51eca36 100644
--- a/task-sdk/src/airflow/sdk/execution_time/supervisor.py
+++ b/task-sdk/src/airflow/sdk/execution_time/supervisor.py
@@ -145,7 +145,7 @@ def mkpipe(
     io: BinaryIO | socket
     if remote_read:
         # If _we_ are writing, we don't want to buffer
-        io = cast(BinaryIO, local.makefile("wb", buffering=0))
+        io = cast("BinaryIO", local.makefile("wb", buffering=0))
     else:
         io = local
 
diff --git a/task-sdk/tests/conftest.py b/task-sdk/tests/conftest.py
index add954751ed..6363cfae7d7 100644
--- a/task-sdk/tests/conftest.py
+++ b/task-sdk/tests/conftest.py
@@ -118,9 +118,9 @@ def captured_logs(request):
         # We need to replace remove the last processor (the one that turns JSON into text, as we want the
         # event dict for tests)
         proc = processors.pop()
-        assert isinstance(
-            proc, (structlog.dev.ConsoleRenderer, structlog.processors.JSONRenderer)
-        ), "Pre-condition"
+        assert isinstance(proc, (structlog.dev.ConsoleRenderer, structlog.processors.JSONRenderer)), (
+            "Pre-condition"
+        )
     try:
         cap = LogCapture()
         processors.append(cap)
diff --git a/task-sdk/tests/task_sdk/definitions/test_asset.py b/task-sdk/tests/task_sdk/definitions/test_asset.py
index 1637cffac61..b084946fe73 100644
--- a/task-sdk/tests/task_sdk/definitions/test_asset.py
+++ b/task-sdk/tests/task_sdk/definitions/test_asset.py
@@ -220,12 +220,12 @@ def test_asset_trigger_setup_and_serialization(create_test_assets):
     deserialized_dag = SerializedDAG.deserialize_dag(SerializedDAG.serialize_dag(dag))
 
     # Verify serialization and deserialization integrity
-    assert isinstance(
-        deserialized_dag.timetable.asset_condition, AssetAny
-    ), "Deserialized assets should maintain type AssetAny"
-    assert (
-        deserialized_dag.timetable.asset_condition.objects == dag.timetable.asset_condition.objects
-    ), "Deserialized assets should match original"
+    assert isinstance(deserialized_dag.timetable.asset_condition, AssetAny), (
+        "Deserialized assets should maintain type AssetAny"
+    )
+    assert deserialized_dag.timetable.asset_condition.objects == dag.timetable.asset_condition.objects, (
+        "Deserialized assets should match original"
+    )
 
 
 def assets_equal(a1: BaseAsset, a2: BaseAsset) -> bool:
diff --git a/task-sdk/tests/task_sdk/definitions/test_secrets_masker.py b/task-sdk/tests/task_sdk/definitions/test_secrets_masker.py
index 4735ddc048c..7ad1f4a70f3 100644
--- a/task-sdk/tests/task_sdk/definitions/test_secrets_masker.py
+++ b/task-sdk/tests/task_sdk/definitions/test_secrets_masker.py
@@ -215,7 +215,7 @@ class TestSecretsMasker:
             The above exception was the direct cause of the following exception:
 
             Traceback (most recent call last):
-              File ".../test_secrets_masker.py", line {line+4}, in test_masking_in_explicit_context_exceptions
+              File ".../test_secrets_masker.py", line {line + 4}, in test_masking_in_explicit_context_exceptions
                 raise RuntimeError(f"Exception: {{exception}}") from exception
             RuntimeError: Exception: Cannot connect to user:***
             """