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

vincbeck 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 4aee6da38b Partially enable D401 rule (#37167)
4aee6da38b is described below

commit 4aee6da38b3140b82207dadb9c3e9cc8d8a6344c
Author: Andrey Anshin <[email protected]>
AuthorDate: Thu Feb 8 18:33:04 2024 +0400

    Partially enable D401 rule (#37167)
---
 pyproject.toml | 265 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 264 insertions(+), 1 deletion(-)

diff --git a/pyproject.toml b/pyproject.toml
index 68ea02694a..0697184944 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1283,7 +1283,10 @@ extend-select = [
     "D2",
     "D3",
     "D400",
-    # "D401", # Not enabled by ruff, but we don't want it
+    # We add modules that do not follow the rule `First line should be in 
imperative mood`
+    # into the `tool.ruff.per-file-ignores`, and should remove it from that 
list as soon as it follows.
+    # See: https://github.com/apache/airflow/issues/10742
+    "D401",
     "D402",
     "D403",
     "D412",
@@ -1346,6 +1349,266 @@ combine-as-imports = true
 "tests/providers/elasticsearch/log/elasticmock/__init__.py" = ["E402"]
 "tests/providers/elasticsearch/log/elasticmock/utilities/__init__.py" = 
["E402"]
 
+# All the modules which do not follow D401 yet, please remove as soon as it 
becomes compatible
+"airflow/auth/managers/utils/fab.py" = ["D401"]
+"airflow/decorators/bash.py" = ["D401"]
+"airflow/executors/debug_executor.py" = ["D401"]
+"airflow/models/baseoperator.py" = ["D401"]
+"airflow/models/dagrun.py" = ["D401"]
+"airflow/models/taskinstance.py" = ["D401"]
+"airflow/operators/python.py" = ["D401"]
+"airflow/plugins_manager.py" = ["D401"]
+"airflow/providers_manager.py" = ["D401"]
+"airflow/serialization/serde.py" = ["D401"]
+"airflow/utils/log/task_context_logger.py" = ["D401"]
+"airflow/utils/sqlalchemy.py" = ["D401"]
+"airflow/www/auth.py" = ["D401"]
+"airflow/www/blueprints.py" = ["D401"]
+"airflow/www/views.py" = ["D401"]
+"airflow/providers/airbyte/hooks/airbyte.py" = ["D401"]
+"airflow/providers/airbyte/operators/airbyte.py" = ["D401"]
+"airflow/providers/airbyte/sensors/airbyte.py" = ["D401"]
+"airflow/providers/airbyte/triggers/airbyte.py" = ["D401"]
+"airflow/providers/amazon/aws/auth_manager/cli/avp_commands.py" = ["D401"]
+"airflow/providers/amazon/aws/auth_manager/views/auth.py" = ["D401"]
+"airflow/providers/amazon/aws/executors/ecs/boto_schema.py" = ["D401"]
+"airflow/providers/amazon/aws/executors/ecs/ecs_executor.py" = ["D401"]
+"airflow/providers/amazon/aws/executors/ecs/utils.py" = ["D401"]
+"airflow/providers/amazon/aws/hooks/redshift_sql.py" = ["D401"]
+"airflow/providers/amazon/aws/hooks/logs.py" = ["D401"]
+"airflow/providers/amazon/aws/triggers/redshift_cluster.py" = ["D401"]
+"airflow/providers/amazon/aws/triggers/redshift_data.py" = ["D401"]
+"airflow/providers/amazon/aws/triggers/sagemaker.py" = ["D401"]
+"airflow/providers/apache/hive/hooks/hive.py" = ["D401"]
+"airflow/providers/apache/spark/hooks/spark_connect.py" = ["D401"]
+"airflow/providers/apache/spark/hooks/spark_sql.py" = ["D401"]
+"airflow/providers/apache/spark/hooks/spark_submit.py" = ["D401"]
+"airflow/providers/atlassian/jira/hooks/jira.py" = ["D401"]
+"airflow/providers/cncf/kubernetes/callbacks.py" = ["D401"]
+"airflow/providers/cncf/kubernetes/operators/custom_object_launcher.py" = 
["D401"]
+"airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py" = ["D401"]
+"airflow/providers/cncf/kubernetes/resource_convert/configmap.py" = ["D401"]
+"airflow/providers/cncf/kubernetes/resource_convert/env_variable.py" = ["D401"]
+"airflow/providers/cncf/kubernetes/resource_convert/secret.py" = ["D401"]
+"airflow/providers/common/io/xcom/backend.py" = ["D401"]
+"airflow/providers/databricks/hooks/databricks.py" = ["D401"]
+"airflow/providers/databricks/operators/databricks.py" = ["D401"]
+"airflow/providers/discord/hooks/discord_webhook.py" = ["D401"]
+"airflow/providers/fab/auth_manager/decorators/auth.py" = ["D401"]
+"airflow/providers/fab/auth_manager/fab_auth_manager.py" = ["D401"]
+"airflow/providers/fab/auth_manager/security_manager/override.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/automl.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/bigquery.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/bigquery_dts.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/bigtable.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/cloud_batch.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/cloud_build.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/cloud_composer.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/cloud_memorystore.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/cloud_run.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/cloud_sql.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py" = 
["D401"]
+"airflow/providers/google/cloud/hooks/compute.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/datacatalog.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/dataflow.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/dataform.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/datafusion.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/datapipeline.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/dataplex.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/dataprep.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/dataproc_metastore.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/datastore.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/dlp.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/gcs.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/gdm.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/kms.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/kubernetes_engine.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/life_sciences.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/looker.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/mlengine.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/natural_language.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/os_login.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/pubsub.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/secret_manager.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/spanner.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/speech_to_text.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/stackdriver.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/tasks.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/text_to_speech.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/translate.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/vertex_ai/batch_prediction_job.py" = 
["D401"]
+"airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/vertex_ai/dataset.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/vertex_ai/endpoint_service.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/vertex_ai/hyperparameter_tuning_job.py" 
= ["D401"]
+"airflow/providers/google/cloud/hooks/vertex_ai/model_service.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/vertex_ai/pipeline_job.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/video_intelligence.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/vision.py" = ["D401"]
+"airflow/providers/google/cloud/hooks/workflows.py" = ["D401"]
+"airflow/providers/google/cloud/links/vertex_ai.py" = ["D401"]
+"airflow/providers/google/cloud/log/stackdriver_task_handler.py" = ["D401"]
+"airflow/providers/google/cloud/operators/bigquery.py" = ["D401"]
+"airflow/providers/google/cloud/operators/bigquery_dts.py" = ["D401"]
+"airflow/providers/google/cloud/operators/cloud_base.py" = ["D401"]
+"airflow/providers/google/cloud/operators/cloud_build.py" = ["D401"]
+"airflow/providers/google/cloud/operators/cloud_sql.py" = ["D401"]
+"airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py" = 
["D401"]
+"airflow/providers/google/cloud/operators/dataflow.py" = ["D401"]
+"airflow/providers/google/cloud/operators/datafusion.py" = ["D401"]
+"airflow/providers/google/cloud/operators/dataplex.py" = ["D401"]
+"airflow/providers/google/cloud/operators/dataproc.py" = ["D401"]
+"airflow/providers/google/cloud/operators/functions.py" = ["D401"]
+"airflow/providers/google/cloud/operators/gcs.py" = ["D401"]
+"airflow/providers/google/cloud/operators/kubernetes_engine.py" = ["D401"]
+"airflow/providers/google/cloud/operators/mlengine.py" = ["D401"]
+"airflow/providers/google/cloud/operators/pubsub.py" = ["D401"]
+"airflow/providers/google/cloud/operators/spanner.py" = ["D401"]
+"airflow/providers/google/cloud/operators/vertex_ai/auto_ml.py" = ["D401"]
+"airflow/providers/google/cloud/operators/vertex_ai/batch_prediction_job.py" = 
["D401"]
+"airflow/providers/google/cloud/operators/vertex_ai/custom_job.py" = ["D401"]
+"airflow/providers/google/cloud/operators/vertex_ai/hyperparameter_tuning_job.py"
 = ["D401"]
+"airflow/providers/google/cloud/operators/vertex_ai/pipeline_job.py" = ["D401"]
+"airflow/providers/google/cloud/sensors/bigquery.py" = ["D401"]
+"airflow/providers/google/cloud/sensors/cloud_composer.py" = ["D401"]
+"airflow/providers/google/cloud/sensors/gcs.py" = ["D401"]
+"airflow/providers/google/cloud/sensors/pubsub.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/bigquery_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/bigquery_to_sql.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/cassandra_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/gcs_to_bigquery.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/gcs_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/gcs_to_sftp.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/local_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/mssql_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/mysql_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/oracle_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/postgres_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/presto_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/s3_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/sftp_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/sql_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/transfers/trino_to_gcs.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/bigquery.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/bigquery_dts.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/cloud_batch.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/cloud_build.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/cloud_run.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py" = 
["D401"]
+"airflow/providers/google/cloud/triggers/dataflow.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/datafusion.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/dataplex.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/dataproc.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/gcs.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/kubernetes_engine.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/mlengine.py" = ["D401"]
+"airflow/providers/google/cloud/triggers/pubsub.py" = ["D401"]
+"airflow/providers/google/cloud/utils/bigquery.py" = ["D401"]
+"airflow/providers/google/cloud/utils/credentials_provider.py" = ["D401"]
+"airflow/providers/google/cloud/utils/dataform.py" = ["D401"]
+"airflow/providers/google/cloud/utils/field_validator.py" = ["D401"]
+"airflow/providers/google/cloud/utils/helpers.py" = ["D401"]
+"airflow/providers/google/cloud/utils/mlengine_operator_utils.py" = ["D401"]
+"airflow/providers/google/cloud/utils/mlengine_prediction_summary.py" = 
["D401"]
+"airflow/providers/google/common/auth_backend/google_openid.py" = ["D401"]
+"airflow/providers/google/common/hooks/base_google.py" = ["D401"]
+"airflow/providers/google/common/hooks/discovery_api.py" = ["D401"]
+"airflow/providers/google/common/utils/id_token_credentials.py" = ["D401"]
+"airflow/providers/google/firebase/hooks/firestore.py" = ["D401"]
+"airflow/providers/google/leveldb/hooks/leveldb.py" = ["D401"]
+"airflow/providers/google/marketing_platform/hooks/analytics.py" = ["D401"]
+"airflow/providers/google/marketing_platform/hooks/campaign_manager.py" = 
["D401"]
+"airflow/providers/google/marketing_platform/hooks/display_video.py" = ["D401"]
+"airflow/providers/google/marketing_platform/hooks/search_ads.py" = ["D401"]
+"airflow/providers/google/suite/hooks/calendar.py" = ["D401"]
+"airflow/providers/google/suite/hooks/drive.py" = ["D401"]
+"airflow/providers/google/suite/hooks/sheets.py" = ["D401"]
+"airflow/providers/grpc/hooks/grpc.py" = ["D401"]
+"airflow/providers/hashicorp/_internal_client/vault_client.py" = ["D401"]
+"airflow/providers/hashicorp/hooks/vault.py" = ["D401"]
+"airflow/providers/http/operators/http.py" = ["D401"]
+"airflow/providers/http/triggers/http.py" = ["D401"]
+"airflow/providers/imap/hooks/imap.py" = ["D401"]
+"airflow/providers/jenkins/hooks/jenkins.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/adx.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/asb.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/base_azure.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/batch.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/container_instance.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/container_registry.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/container_volume.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/cosmos.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/data_factory.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/data_lake.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/fileshare.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/synapse.py" = ["D401"]
+"airflow/providers/microsoft/azure/hooks/wasb.py" = ["D401"]
+"airflow/providers/microsoft/azure/log/wasb_task_handler.py" = ["D401"]
+"airflow/providers/microsoft/azure/operators/adx.py" = ["D401"]
+"airflow/providers/microsoft/azure/operators/asb.py" = ["D401"]
+"airflow/providers/microsoft/azure/operators/data_factory.py" = ["D401"]
+"airflow/providers/microsoft/azure/operators/synapse.py" = ["D401"]
+"airflow/providers/microsoft/azure/sensors/data_factory.py" = ["D401"]
+"airflow/providers/microsoft/azure/sensors/wasb.py" = ["D401"]
+"airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py" = ["D401"]
+"airflow/providers/microsoft/azure/triggers/data_factory.py" = ["D401"]
+"airflow/providers/microsoft/azure/triggers/wasb.py" = ["D401"]
+"airflow/providers/microsoft/mssql/hooks/mssql.py" = ["D401"]
+"airflow/providers/microsoft/psrp/hooks/psrp.py" = ["D401"]
+"airflow/providers/mongo/hooks/mongo.py" = ["D401"]
+"airflow/providers/mysql/hooks/mysql.py" = ["D401"]
+"airflow/providers/mysql/transfers/s3_to_mysql.py" = ["D401"]
+"airflow/providers/neo4j/hooks/neo4j.py" = ["D401"]
+"airflow/providers/odbc/hooks/odbc.py" = ["D401"]
+"airflow/providers/openfaas/hooks/openfaas.py" = ["D401"]
+"airflow/providers/openlineage/plugins/adapter.py" = ["D401"]
+"airflow/providers/openlineage/sqlparser.py" = ["D401"]
+"airflow/providers/openlineage/utils/sql.py" = ["D401"]
+"airflow/providers/opensearch/hooks/opensearch.py" = ["D401"]
+"airflow/providers/opensearch/operators/opensearch.py" = ["D401"]
+"airflow/providers/opsgenie/hooks/opsgenie.py" = ["D401"]
+"airflow/providers/oracle/hooks/oracle.py" = ["D401"]
+"airflow/providers/pagerduty/hooks/pagerduty.py" = ["D401"]
+"airflow/providers/pagerduty/hooks/pagerduty_events.py" = ["D401"]
+"airflow/providers/papermill/hooks/kernel.py" = ["D401"]
+"airflow/providers/pinecone/hooks/pinecone.py" = ["D401"]
+"airflow/providers/postgres/hooks/postgres.py" = ["D401"]
+"airflow/providers/presto/hooks/presto.py" = ["D401"]
+"airflow/providers/redis/hooks/redis.py" = ["D401"]
+"airflow/providers/salesforce/hooks/salesforce.py" = ["D401"]
+"airflow/providers/salesforce/operators/bulk.py" = ["D401"]
+"airflow/providers/salesforce/operators/salesforce_apex_rest.py" = ["D401"]
+"airflow/providers/samba/hooks/samba.py" = ["D401"]
+"airflow/providers/samba/transfers/gcs_to_samba.py" = ["D401"]
+"airflow/providers/segment/hooks/segment.py" = ["D401"]
+"airflow/providers/sftp/decorators/sensors/sftp.py" = ["D401"]
+"airflow/providers/sftp/hooks/sftp.py" = ["D401"]
+"airflow/providers/sftp/operators/sftp.py" = ["D401"]
+"airflow/providers/sftp/sensors/sftp.py" = ["D401"]
+"airflow/providers/sftp/triggers/sftp.py" = ["D401"]
+"airflow/providers/slack/hooks/slack.py" = ["D401"]
+"airflow/providers/slack/hooks/slack_webhook.py" = ["D401"]
+"airflow/providers/slack/operators/slack.py" = ["D401"]
+"airflow/providers/smtp/hooks/smtp.py" = ["D401"]
+"airflow/providers/snowflake/hooks/snowflake.py" = ["D401"]
+"airflow/providers/snowflake/hooks/snowflake_sql_api.py" = ["D401"]
+"airflow/providers/snowflake/operators/snowflake.py" = ["D401"]
+"airflow/providers/snowflake/transfers/copy_into_snowflake.py" = ["D401"]
+"airflow/providers/snowflake/triggers/snowflake_trigger.py" = ["D401"]
+"airflow/providers/snowflake/utils/sql_api_generate_jwt.py" = ["D401"]
+"airflow/providers/sqlite/hooks/sqlite.py" = ["D401"]
+"airflow/providers/ssh/hooks/ssh.py" = ["D401"]
+"airflow/providers/tableau/hooks/tableau.py" = ["D401"]
+"airflow/providers/tableau/operators/tableau.py" = ["D401"]
+"airflow/providers/tabular/hooks/tabular.py" = ["D401"]
+"airflow/providers/telegram/hooks/telegram.py" = ["D401"]
+"airflow/providers/telegram/operators/telegram.py" = ["D401"]
+"airflow/providers/trino/hooks/trino.py" = ["D401"]
+"airflow/providers/weaviate/hooks/weaviate.py" = ["D401"]
+"airflow/providers/yandex/hooks/yandex.py" = ["D401"]
+
+
 [tool.ruff.lint.flake8-tidy-imports]
 # Ban certain modules from being imported at module level, instead requiring
 # that they're imported lazily (e.g., within a function definition).

Reply via email to