Repository navigation
chore: migrate Python linting and formatting to Ruff - #15005
Merged
google-oss-prow[bot] merged 3 commits intoOct 21, 2026
Merged
Conversation
google-oss-prow
Bot
requested review from
VaniHaripriya,
hbelmiro,
juliusvonkohout,
mprahl,
nsingla and
zazulam
October 21, 2026 02:41
Contributor Report for @droctothorpe
|
droctothorpe
force-pushed
the
chore/ruff-migration
branch
from
October 21, 2026 02:48
fe7095b to
5dadc50
Compare
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The presubmit script can report success despite lint failures; the generated-file exclusion nit also remains unresolved.
No open issues 🎉
What changed in this PR
Migrates Python linting and formatting to Ruff 0.17.1 across the repository, retaining docformatter and existing merge-gate workflow identities.
Changes:
- Replace legacy linting and formatting tools with narrowly scoped Ruff checks.
- Normalize Python formatting and imports across SDK code, components, samples, and fixtures.
- Update CI, dependencies, presubmit tooling, and contributor guidance.
Unresolved review comments:
- Moderate · 1 vote —
test/presubmit-ruff.sh:19: Explicitly propagate lint failures. Running the documentedbash test/presubmit-ruff.shignores the shebang’s-e, allowing successful formatting to mask failed linting. - Nit · 1 vote —
pyproject.toml:15: Exclude the GCPC generated image-version directory, align pre-commit exclusions, and revert its formatting edit. The file identifies itself as generated; formatting it conflicts with generation guidance and requires manual cleanup after regeneration.
| File | Description |
|---|---|
test/presubmit-yapf-sdk.sh |
Remove obsolete formatter script. |
test/presubmit-ruff.sh |
Combine repository-wide Ruff checks. |
test/kfp-kubernetes-native-migration-tests/run_state.py |
Format exception construction. |
test/frontend-integration-test/compile_fixtures.py |
Format fixture compiler. |
test_data/sdk_uncompiled_pipelines/nested_pipeline_sub_component_retry.py |
Normalize imports and layout. |
test_data/sdk_uncompiled_pipelines/nested_pipeline_pipeline_retry.py |
Normalize imports and layout. |
test_data/sdk_uncompiled_pipelines/nested_pipeline_all_level_retry.py |
Normalize imports and layout. |
test_data/sdk_uncompiled_pipelines/hello-world-with-returning-component.py |
Normalize quotes. |
test_data/sdk_compiled_pipelines/valid/two_step_with_uri_placeholder.py |
Format container command. |
test_data/sdk_compiled_pipelines/valid/sequential_v2.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/sequential_container.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/scale/dag_120.py |
Format chained task configuration. |
test_data/sdk_compiled_pipelines/valid/run_as_user_cache_enabled.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/run_as_user_cache_disabled.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/pythonic_artifacts_with_multiple_returns.py |
Format annotations and slicing. |
test_data/sdk_compiled_pipelines/valid/pythonic_artifacts_with_list_of_artifacts.py |
Format signatures and compilation. |
test_data/sdk_compiled_pipelines/valid/pythonic_artifact_with_single_return.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/pvc_mount.py |
Normalize imports and docstring layout. |
test_data/sdk_compiled_pipelines/valid/pvc_mount_subpath.py |
Normalize imports and spacing. |
test_data/sdk_compiled_pipelines/valid/preprocess.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_volume.py |
Format PVC task configuration. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_volume_no_cache.py |
Format PVC task configuration. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_volume_long_name.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_utils.py |
Normalize quotes and decorators. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_task_using_ignore_upstream_failure.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_task_final_status.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_task_final_status_yaml.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_string_machine_fields_task_output.py |
Format compilation call. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_string_machine_fields_pipeline_input.py |
Format compilation call. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_retry.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_retry_policy.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_parallelfor_pipeline_param.py |
Normalize imports and prose wrapping. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_parallelfor_list_artifacts.py |
Format imports and signatures. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_metadata_fields.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_loops_and_conditions.py |
Normalize imports and spacing. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_importer_and_gcpc_types.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/pipeline_with_concat_placeholder.py |
Sort imports and format arguments. |
test_data/sdk_compiled_pipelines/valid/pipeline_container_no_input.py |
Remove unused import; format layout. |
test_data/sdk_compiled_pipelines/valid/pipeline_as_exit_task.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/parameters_complex.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/parameter.py |
Consolidate imports. |
test_data/sdk_compiled_pipelines/valid/parallel_and_nested/pipeline_with_loops.py |
Normalize imports and quotes. |
test_data/sdk_compiled_pipelines/valid/parallel_and_nested/pipeline_in_pipeline.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/parallel_and_nested/pipeline_in_pipeline_loaded_from_yaml.py |
Clean imports and format calls. |
test_data/sdk_compiled_pipelines/valid/parallel_and_nested/pipeline_in_pipeline_complex.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/parallel_and_nested/loop_consume_upstream.py |
Clean imports and normalize quotes. |
test_data/sdk_compiled_pipelines/valid/output_metrics.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/nested_with_parameters.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/nested_return.py |
Format compilation call. |
test_data/sdk_compiled_pipelines/valid/mounted_cabundle_secret.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/mounted_cabundle_configmap.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/long_running.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/local_execution/pipeline_with_collected_artifacts.py |
Consolidate imports. |
test_data/sdk_compiled_pipelines/valid/local_execution/pipeline_with_caching.py |
Consolidate imports. |
test_data/sdk_compiled_pipelines/valid/local_execution/local_execution_pipeline_with_retry.py |
Normalize imports and spacing. |
test_data/sdk_compiled_pipelines/valid/local_execution/local_execution_pipeline_with_oneof.py |
Consolidate imports. |
test_data/sdk_compiled_pipelines/valid/local_execution/local_execution_pipeline_with_k8s_only_methods.py |
Consolidate imports. |
test_data/sdk_compiled_pipelines/valid/local_execution/local_execution_pipeline_with_ignore_upstream_failure.py |
Consolidate imports. |
test_data/sdk_compiled_pipelines/valid/local_execution/local_execution_pipeline_with_exit_handler.py |
Consolidate imports. |
test_data/sdk_compiled_pipelines/valid/input_artifact.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/if_else_with_oneof_parameters.py |
Normalize spacing and layout. |
test_data/sdk_compiled_pipelines/valid/if_else_with_oneof_artifacts.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/if_elif_else_with_oneof_parameters.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/identity.py |
Format compilation call. |
test_data/sdk_compiled_pipelines/valid/hello_world.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/failing/pipeline_with_multiple_exit_handlers.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/failing/pipeline_with_exit_handler.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/failing/fail_v2.py |
Normalize docstring and layout. |
test_data/sdk_compiled_pipelines/valid/essential/pipeline_with_reused_component.py |
Clean imports and format paths. |
test_data/sdk_compiled_pipelines/valid/essential/pipeline_with_params_containing_format.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/essential/pipeline_with_outputs.py |
Format imports and annotations. |
test_data/sdk_compiled_pipelines/valid/essential/pipeline_with_nested_conditions.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/essential/pipeline_with_metrics_outputs.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/essential/pipeline_with_condition.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/essential/pipeline_with_after.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/essential/dict_input.py |
Format compilation call. |
test_data/sdk_compiled_pipelines/valid/essential/container_no_input.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/essential/concat_message.py |
Format compilation call. |
test_data/sdk_compiled_pipelines/valid/essential/component_with_pip_install.py |
Format decorator and compilation. |
test_data/sdk_compiled_pipelines/valid/essential/component_with_pip_index_urls.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/essential/component_with_env_variable.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/env_var.py |
Normalize quotes. |
test_data/sdk_compiled_pipelines/valid/driver_plugin/pipeline_with_flaky_retry.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/dra/dra_json_input_check.py |
Format imports and configuration. |
test_data/sdk_compiled_pipelines/valid/cross_loop_after_topology.py |
Format compilation call. |
test_data/sdk_compiled_pipelines/valid/critical/two_step_pipeline_containerized.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/critical/pipeline_with_input_status_state.py |
Normalize assertions and spacing. |
test_data/sdk_compiled_pipelines/valid/critical/parameters_simple.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/critical/parameter_cache.py |
Consolidate imports. |
test_data/sdk_compiled_pipelines/valid/critical/multiple_parameters_namedtuple.py |
Consolidate imports. |
test_data/sdk_compiled_pipelines/valid/critical/multiple_artifacts_namedtuple.py |
Consolidate imports. |
test_data/sdk_compiled_pipelines/valid/critical/mixed_parameters.py |
Clean imports and format compilation. |
test_data/sdk_compiled_pipelines/valid/critical/if_else_with_oneof_artifacts.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/critical/container_component_with_no_inputs.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/critical/component_with_optional_inputs.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/critical/collected_parameters.py |
Normalize signature and whitespace. |
test_data/sdk_compiled_pipelines/valid/critical/artifact_crust.py |
Clean imports and format compilation. |
test_data/sdk_compiled_pipelines/valid/critical/artifact_cache.py |
Consolidate imports. |
test_data/sdk_compiled_pipelines/valid/critical/add_numbers.py |
Format compilation call. |
test_data/sdk_compiled_pipelines/valid/containerized_python_component.py |
Format decorator and compilation. |
test_data/sdk_compiled_pipelines/valid/container_with_placeholder_in_fstring.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/container_with_if_placeholder_default.py |
Format placeholder configuration. |
test_data/sdk_compiled_pipelines/valid/container_with_concat_placeholder.py |
Format imports and arguments. |
test_data/sdk_compiled_pipelines/valid/container_with_artifact_output.py |
Format imports and arguments. |
test_data/sdk_compiled_pipelines/valid/container_io.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/conditional_producer_and_consumers.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/components_with_optional_artifacts.py |
Format imports and placeholders. |
test_data/sdk_compiled_pipelines/valid/component_with_task_final_status.py |
Format compilation call. |
test_data/sdk_compiled_pipelines/valid/component_with_metadata_fields.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/valid/artifacts_simple.py |
Format imports and signature. |
test_data/sdk_compiled_pipelines/valid/arguments_parameters.py |
Normalize imports and layout. |
test_data/sdk_compiled_pipelines/argo_compatibility/fast_artifact.py |
Consolidate imports. |
sdk/python/test/test_utils/file_utils.py |
Normalize quotes and docstring indentation. |
sdk/python/test/kubernetes/unit/test_timeout.py |
Format imports and assertions. |
sdk/python/test/kubernetes/unit/test_image_pull_policy.py |
Format imports and expectations. |
sdk/python/test/kubernetes/snapshot/data/toleration.py |
Normalize imports and quotes. |
sdk/python/test/kubernetes/snapshot/data/timeout.py |
Normalize imports and spacing. |
sdk/python/test/kubernetes/snapshot/data/secret_as_vol.py |
Format imports and arguments. |
sdk/python/test/kubernetes/snapshot/data/secret_as_env.py |
Format imports and arguments. |
sdk/python/test/kubernetes/snapshot/data/node_selector.py |
Normalize imports and spacing. |
sdk/python/test/kubernetes/snapshot/data/init_container.py |
Consolidate imports. |
sdk/python/test/kubernetes/snapshot/data/image_pull_secrets.py |
Normalize imports and spacing. |
sdk/python/test/kubernetes/snapshot/data/general_ephemeral_volume.py |
Normalize imports and quotes. |
sdk/python/test/kubernetes/snapshot/data/field_path_as_env.py |
Format imports and arguments. |
sdk/python/test/kubernetes/snapshot/data/empty_dir_mounts.py |
Format imports and arguments. |
sdk/python/test/kubernetes/snapshot/data/create_mount_delete_existing_pvc.py |
Format imports and task chaining. |
sdk/python/test/kubernetes/snapshot/data/create_mount_delete_existing_pvc_from_task_output.py |
Normalize imports and spacing. |
sdk/python/test/kubernetes/snapshot/data/create_mount_delete_dynamic_pvc.py |
Format imports and task chaining. |
sdk/python/test/kubernetes/snapshot/data/config_map_as_vol.py |
Format imports and arguments. |
sdk/python/test/kubernetes/snapshot/data/config_map_as_env.py |
Format imports and arguments. |
sdk/python/test/__init__.py |
Normalize quotes. |
sdk/python/kfp/v2/__init__.py |
Format warning and re-exports. |
sdk/python/kfp/registry/__init__.py |
Consolidate re-exports. |
sdk/python/kfp/local/utils.py |
Consolidate imports. |
sdk/python/kfp/local/utils_test.py |
Format imports and protobuf construction. |
sdk/python/kfp/local/task_handler_interface.py |
Consolidate imports. |
sdk/python/kfp/local/task_handler_interface_test.py |
Format class and assertion. |
sdk/python/kfp/local/status.py |
Normalize module spacing. |
sdk/python/kfp/local/logging_utils.py |
Format spacing and signature. |
sdk/python/kfp/local/io.py |
Format annotations and exceptions. |
sdk/python/kfp/local/graph_utils.py |
Format signatures. |
sdk/python/kfp/local/__init__.py |
Consolidate re-exports. |
sdk/python/kfp/kubernetes/volume.py |
Format imports and expressions. |
sdk/python/kfp/kubernetes/timeout.py |
Separate import groups. |
sdk/python/kfp/kubernetes/security_context.py |
Format imports and exception. |
sdk/python/kfp/kubernetes/secret.py |
Format imports and comprehension. |
sdk/python/kfp/kubernetes/pod_metadata.py |
Separate import groups. |
sdk/python/kfp/kubernetes/node_selector.py |
Format imports and call. |
sdk/python/kfp/kubernetes/image.py |
Format imports and annotations. |
sdk/python/kfp/kubernetes/field.py |
Separate import groups. |
sdk/python/kfp/kubernetes/empty_dir.py |
Separate import groups. |
sdk/python/kfp/kubeflow_client/types.py |
Remove redundant parentheses. |
sdk/python/kfp/kubeflow_client/constants.py |
Format state collection. |
sdk/python/kfp/kubeflow_client/backends/kubernetes/types.py |
Format representation string. |
sdk/python/kfp/kubeflow_client/backends/kubernetes/__init__.py |
Format re-export. |
sdk/python/kfp/kubeflow_client/__init__.py |
Consolidate re-exports. |
sdk/python/kfp/dsl/yaml_component.py |
Format imports and parsing. |
sdk/python/kfp/dsl/task_final_status.py |
Normalize class spacing. |
sdk/python/kfp/dsl/python_component.py |
Consolidate imports. |
sdk/python/kfp/dsl/notebook_component_decorator.py |
Format imports and comprehension. |
sdk/python/kfp/dsl/kfp_config.py |
Format imports and expressions. |
sdk/python/kfp/dsl/importer_component.py |
Consolidate imports. |
sdk/python/kfp/dsl/container_component_decorator.py |
Format imports and signature. |
sdk/python/kfp/dsl/container_component_class.py |
Format imports and signature. |
sdk/python/kfp/dsl/container_component_artifact_channel.py |
Normalize trailing comma. |
sdk/python/kfp/components/__init__.py |
Format public re-exports. |
sdk/python/kfp/compiler/compiler.py |
Format annotations and calls. |
sdk/python/kfp/client/token_credentials_base.py |
Normalize class spacing. |
sdk/python/kfp/client/set_volume_credentials_test.py |
Format imports and construction. |
sdk/python/kfp/client/__init__.py |
Update re-export formatting. |
sdk/python/kfp/cli/utils/parsing.py |
Format slices and exceptions. |
sdk/python/kfp/cli/utils/deprecated_alias_group.py |
Format signatures and calls. |
sdk/python/kfp/cli/utils/deprecated_alias_group_test.py |
Format decorator and assertion. |
sdk/python/kfp/cli/utils/aliased_plurals_group.py |
Format signature and spacing. |
sdk/python/kfp/cli/utils/aliased_plurals_group_test.py |
Format imports and assertion. |
sdk/python/kfp/cli/dsl.py |
Separate import groups. |
sdk/python/kfp/cli/diagnose_me/utility.py |
Format dataclass and construction. |
sdk/python/kfp/cli/diagnose_me/utility_test.py |
Consolidate mock imports. |
sdk/python/kfp/cli/diagnose_me/dev_env.py |
Format signature and collection. |
sdk/python/kfp/cli/compile_test.py |
Normalize spacing. |
sdk/python/kfp/cli/__main__.py |
Separate import groups. |
sdk/python/kfp/__init__.py |
Format exception and re-exports. |
sdk/python/hatch_build.py |
Format build exception. |
samples/core/sequential/sequential.py |
Format imports and configuration. |
samples/core/secret/secret_test.py |
Format imports and test invocation. |
samples/core/retry/retry.py |
Normalize imports and quotes. |
samples/core/retry/retry_test.py |
Format imports and test invocation. |
samples/core/resource_spec/runtime_resource_request_test.py |
Format test cases. |
samples/core/resource_spec/resource_spec.py |
Format pipeline decorator. |
samples/core/resource_spec/resource_spec_test.py |
Format test cases. |
samples/core/output_a_directory/output_a_directory_test.py |
Format test invocation. |
samples/core/multiple_outputs/multiple_outputs_test.py |
Format test invocation. |
samples/core/loop_static/loop_static.py |
Format signature and loop inputs. |
samples/core/loop_parameter/loop_parameter.py |
Format signature and spacing. |
samples/core/loop_parameter/loop_parameter_test.py |
Format imports and assertions. |
samples/core/loop_parallelism/loop_parallelism.py |
Normalize spacing. |
samples/core/loop_parallelism/loop_parallelism_test.py |
Format test invocation. |
samples/core/loop_output/loop_output.py |
Sort imports and normalize spacing. |
samples/core/kubernetes_pvc/kubernetes_pvc.py |
Format imports and task chaining. |
samples/core/exit_handler/exit_handler.py |
Clean imports and format compilation. |
samples/core/exit_handler/exit_handler_test.py |
Format imports and test invocation. |
samples/core/execution_order/execution_order.py |
Normalize indentation and imports. |
samples/core/execution_order/execution_order_test.py |
Format test invocation. |
samples/core/condition/nested_condition.py |
Normalize imports and spacing. |
samples/core/condition/nested_condition_test.py |
Format test invocation. |
samples/core/condition/condition_v2.py |
Normalize import spacing. |
samples/core/caching/caching_test.py |
Format test invocation. |
pyproject.toml |
Configure Ruff and replace lint dependencies. |
docs/agents/testing.md |
Document Ruff checks and formatter order. |
docs/_ext/kubeflow_topnav/__init__.py |
Normalize quotes and layout. |
components/google-cloud/google_cloud_pipeline_components/version.py |
Normalize quotes; version unchanged. |
components/google-cloud/google_cloud_pipeline_components/v1/wait_gcp_resources/__init__.py |
Format re-export and docstring. |
components/google-cloud/google_cloud_pipeline_components/v1/vertex_notification_email/__init__.py |
Format re-export. |
components/google-cloud/google_cloud_pipeline_components/v1/model/__init__.py |
Format re-exports. |
components/google-cloud/google_cloud_pipeline_components/v1/model_evaluation/model_based_llm_evaluation/__init__.py |
Format re-export. |
components/google-cloud/google_cloud_pipeline_components/v1/hyperparameter_tuning_job/__init__.py |
Format re-exports. |
components/google-cloud/google_cloud_pipeline_components/v1/forecasting/__init__.py |
Format re-exports. |
components/google-cloud/google_cloud_pipeline_components/v1/endpoint/__init__.py |
Format re-exports. |
components/google-cloud/google_cloud_pipeline_components/v1/dataproc/__init__.py |
Format re-exports. |
components/google-cloud/google_cloud_pipeline_components/v1/dataflow/__init__.py |
Format re-exports. |
components/google-cloud/google_cloud_pipeline_components/v1/custom_job/__init__.py |
Format re-exports. |
components/google-cloud/google_cloud_pipeline_components/v1/batch_predict_job/__init__.py |
Format re-export. |
components/google-cloud/google_cloud_pipeline_components/v1/automl/forecasting/__init__.py |
Format re-exports. |
components/google-cloud/google_cloud_pipeline_components/preview/starry_net/__init__.py |
Format re-export. |
components/google-cloud/google_cloud_pipeline_components/preview/model_evaluation/__init__.py |
Format re-exports. |
components/google-cloud/google_cloud_pipeline_components/preview/llm/__init__.py |
Format re-exports. |
components/google-cloud/google_cloud_pipeline_components/preview/dataflow/__init__.py |
Format re-export. |
components/google-cloud/google_cloud_pipeline_components/preview/custom_job/__init__.py |
Format re-exports. |
components/google-cloud/google_cloud_pipeline_components/preview/automl/vision/__init__.py |
Format re-export. |
components/google-cloud/google_cloud_pipeline_components/preview/automl/tabular/auto_feature_engineering.py |
Normalize function indentation. |
components/google-cloud/google_cloud_pipeline_components/preview/automl/tabular/__init__.py |
Format re-exports. |
components/google-cloud/google_cloud_pipeline_components/container/v1/vertex_notification_email/executor.py |
Normalize indentation and docstring. |
components/google-cloud/google_cloud_pipeline_components/container/v1/gcp_launcher/utils/error_util.py |
Normalize indentation and docstring. |
components/google-cloud/google_cloud_pipeline_components/container/v1/dataproc/create_spark_sql_batch/remote_runner.py |
Format import. |
components/google-cloud/google_cloud_pipeline_components/container/v1/dataproc/create_spark_r_batch/remote_runner.py |
Format import. |
components/google-cloud/google_cloud_pipeline_components/container/v1/dataproc/create_spark_batch/remote_runner.py |
Format import. |
components/google-cloud/google_cloud_pipeline_components/container/v1/dataproc/create_pyspark_batch/remote_runner.py |
Format import. |
components/google-cloud/google_cloud_pipeline_components/_implementation/starry_net/upload_decomposition_plots/component.py |
Format signature indentation. |
components/google-cloud/google_cloud_pipeline_components/_implementation/starry_net/set_train_args/component.py |
Format return annotation. |
components/google-cloud/google_cloud_pipeline_components/_implementation/starry_net/set_tfrecord_args/component.py |
Format annotation and docstring. |
components/google-cloud/google_cloud_pipeline_components/_implementation/starry_net/set_test_set/component.py |
Format decorator and annotation. |
components/google-cloud/google_cloud_pipeline_components/_implementation/starry_net/set_eval_args/component.py |
Format return annotation. |
components/google-cloud/google_cloud_pipeline_components/_implementation/starry_net/set_dataprep_args/component.py |
Format return annotation. |
components/google-cloud/google_cloud_pipeline_components/_implementation/starry_net/maybe_set_tfrecord_args/component.py |
Format return annotation. |
components/google-cloud/google_cloud_pipeline_components/_implementation/starry_net/get_training_artifacts/component.py |
Format decorator and annotation. |
components/google-cloud/google_cloud_pipeline_components/_implementation/model/__init__.py |
Format re-export. |
components/google-cloud/google_cloud_pipeline_components/_implementation/model_evaluation/text2sql_validate_and_process/__init__.py |
Wrap module docstring. |
components/google-cloud/google_cloud_pipeline_components/_implementation/model_evaluation/text2sql_preprocess/__init__.py |
Wrap module docstring. |
components/google-cloud/google_cloud_pipeline_components/_implementation/model_evaluation/llm_retrieval_metrics/__init__.py |
Wrap module docstring. |
components/google-cloud/google_cloud_pipeline_components/_implementation/model_evaluation/llm_information_retrieval_preprocessor/__init__.py |
Wrap module docstring. |
components/google-cloud/google_cloud_pipeline_components/_implementation/model_evaluation/llm_embedding_retrieval/__init__.py |
Wrap module docstring. |
components/google-cloud/google_cloud_pipeline_components/_implementation/model_evaluation/llm_classification_postprocessor/__init__.py |
Wrap module docstring. |
components/google-cloud/google_cloud_pipeline_components/_implementation/llm/generated/refined_image_versions.py |
Remove generated-file blank line. |
components/google-cloud/google_cloud_pipeline_components/_implementation/llm/env.py |
Format import and indentation. |
components/google-cloud/google_cloud_pipeline_components/_image.py |
Normalize module spacing. |
components/google-cloud/google_cloud_pipeline_components/__init__.py |
Format warning indentation. |
backend/src/v2/test/components/run_sample.py |
Normalize imports and string delimiters. |
backend/src/v2/test/components/kaniko.py |
Normalize imports and string delimiters. |
backend/src/v2/test/components/download_gcs_tgz.py |
Normalize imports and string delimiters. |
backend/src/v2/driver/test_data/pipeline_with_input_status_state.py |
Normalize assertions and compilation. |
backend/api/v2/python_http_client_smoke/test_package_import.py |
Format paths and smoke imports. |
api/v2alpha1/python/generate_proto.py |
Normalize quotes and calls. |
.style.yapf |
Remove obsolete configuration. |
.isort.cfg |
Remove obsolete configuration. |
.github/workflows/sdk-yapf.yml |
Run repository-wide Ruff formatting. |
.github/workflows/sdk-isort.yml |
Run repository-wide Ruff linting. |
.github/workflows/pre-commit.yml |
Detect Ruff configuration changes. |
.github/resources/scripts/wait_for_seaweedfs_iam_test.py |
Format imports and string delimiters. |
.github/resources/scripts/upgrade_pause_test.py |
Sort imports and normalize spacing. |
.github/resources/scripts/runtime_base_image_artifacts_test.py |
Format comprehensions and assertions. |
.github/resources/scripts/prune_runtime_base_image_caches.py |
Format docstring and exception. |
.github/resources/scripts/deploy_kfp_order_test.py |
Format imports and expression. |
.github/resources/scripts/contributor_report_workflow_test.py |
Format imports and comprehension. |
.github/resources/scripts/artifact_workflow_test_support.py |
Format expressions and exceptions. |
.github/resources/scripts/artifact_upload_retry_test.py |
Format assertion and spacing. |
.github/resources/scripts/arm64_presubmit_image.py |
Format imports and exception. |
.github/dependabot.yml |
Update docformatter pin rationale. |
Review effort: Balanced
Collaborator
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: zazulam The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
droctothorpe
force-pushed
the
chore/ruff-migration
branch
from
October 21, 2026 10:59
5dadc50 to
59d50d4
Compare
Collaborator
|
/lgtm |
Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
droctothorpe
force-pushed
the
chore/ruff-migration
branch
from
October 21, 2026 13:07
59d50d4 to
35509c2
Compare
Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Collaborator
|
/lgtm |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Python pre-commit checks currently run separate Flake8, pycln, isort, and YAPF tools. This adds interpreter/environment overhead and requires keeping overlapping import and formatting behavior aligned between local hooks and CI. The dedicated lint and formatting jobs also check only the SDK, leaving the rest of the repository without the same full-tree checks.
Changes
W605check with Ruff 0.17.1. Local pre-commit hooks and CI both useuv run --frozen --extra lint ruff, sharing the authoritative workspace pin and lockfile introduced by fix(ci): share the locked isort version across formatting checks #14978. Keep uv provisioning and lockfile-triggered smoke checks; do not maintain a separate hook version. Enable only import sorting, unused-import detection, and invalid-escape checks; this does not introduce Ruff's broader default rule set.components/google-cloud, retaining an 80-column target and single quotes. All 613 in-scope Python files pass Ruff; generated Python files remain unchanged. Notebooks and Markdown are outside this migration.components/google-cloudtree unchanged because it is scheduled for deletion. Exclude it from Ruff discovery, explicit-file lint/format invocations, and all pre-commit hooks, including docformatter.Most of this large diff is mechanical formatting and import sorting. An AST comparison found no unexpected executable changes beyond imports, docstrings, and the migration regression tests. No unsafe Ruff fixes were enabled.
Validation
uv lock --check, andgit diff --checkpassed.After excluding Google Cloud components, reran the migration regression tests, repository-wide Ruff checks, lock/diff checks, and the full PR hook chain twice. Verified that Ruff discovers no files in that tree, including when a file is passed explicitly, and that its complete contents match the pre-migration commit. The full SDK/integration suites were not rerun for this exclusion-only update.
After rebasing onto
88968c489, reran the 10 hook/configuration tests, 177 CI-gate tests, repository-wide lint/format/syntax checks, lock validation, and both the full PR hook chain and representative smoke checks twice. The compiler implementation matches the previously tested branch, andcomponents/google-cloudhas no diff against the new base.Hosted CI on the previous head
5dadc50d2completed with 36 successful workflows and 3 intentional skips. Fresh CI is required for the rebased head; the full SDK suites were not rerun locally for this tooling conflict resolution. Live-cluster and cloud integration tests were not run locally. End-to-end hook speedups were not benchmarked.After the latest rebase onto
f518442a5, fixed the Ruff formatting of the newly added SDK-client diagnostics test incollect_logs_test.py(AST unchanged). Both the Ruff-format and pre-commit failures reproduced locally before the fix. The follow-up passed 3 log-collection tests, 10 hook/configuration tests, 177 CI-gate tests, repository-wide Ruff and lock checks, and two full PR hook passes. The Google Cloud tree remains unchanged.Checklist