Skip to content

chore: update handwritten noxfiles to use ruff#15580

Merged
parthea merged 8 commits intomainfrom
replace-black-with-ruff-for-handwritten-clients
Feb 19, 2026
Merged

chore: update handwritten noxfiles to use ruff#15580
parthea merged 8 commits intomainfrom
replace-black-with-ruff-for-handwritten-clients

Conversation

@ohmayr
Copy link
Contributor

@ohmayr ohmayr commented Feb 18, 2026

update handwritten noxfiles to use ruff

@ohmayr ohmayr requested review from a team as code owners February 18, 2026 20:56
@ohmayr ohmayr requested a review from Linchin February 18, 2026 20:56
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @ohmayr, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request streamlines the development workflow by standardizing code formatting and linting practices. It transitions from a multi-tool setup (Black and Isort) to a single, high-performance tool, Ruff, across several project Noxfiles. This change aims to improve consistency, reduce build times, and simplify maintenance of the code style enforcement.

Highlights

  • Migration to Ruff: The build system's linting and formatting tools have been migrated from Black and Isort to Ruff across multiple noxfile.py configurations.
  • Deprecated blacken session: The blacken Nox session is now deprecated and users are advised to use nox -s format instead. It has been updated to use Ruff for formatting.
  • Enhanced format session: The format Nox session has been refactored to leverage Ruff for both import sorting (ruff check --select I --fix) and code formatting (ruff format), ensuring a unified approach.
  • Consistent configuration: All Ruff commands now include --target-version and --line-length=88 for consistent formatting rules.
Changelog
  • packages/google-cloud-access-context-manager/noxfile.py
    • Replaced BLACK_VERSION and ISORT_VERSION with RUFF_VERSION.
    • Updated the lint session to use ruff format --check for formatting verification.
    • Deprecated the blacken session, adding a warning and migrating its functionality to ruff format.
    • Rewrote the format session to utilize ruff check --select I --fix for import sorting and ruff format for code formatting.
  • packages/google-cloud-audit-log/noxfile.py
    • Replaced BLACK_VERSION and ISORT_VERSION with RUFF_VERSION.
    • Updated the lint session to use ruff format --check for formatting verification.
    • Deprecated the blacken session, adding a warning and migrating its functionality to ruff format.
    • Rewrote the format session to utilize ruff check --select I --fix for import sorting and ruff format for code formatting.
  • packages/google-cloud-bigquery-storage/noxfile.py
    • Replaced BLACK_VERSION and ISORT_VERSION with RUFF_VERSION.
    • Updated the lint session to use ruff format --check for formatting verification.
    • Deprecated the blacken session, adding a warning and migrating its functionality to ruff format.
    • Rewrote the format session to utilize ruff check --select I --fix for import sorting and ruff format for code formatting.
  • packages/google-cloud-gke-hub/noxfile.py
    • Replaced BLACK_VERSION and ISORT_VERSION with RUFF_VERSION.
    • Updated the lint session to use ruff format --check for formatting verification.
    • Deprecated the blacken session, adding a warning and migrating its functionality to ruff format.
    • Rewrote the format session to utilize ruff check --select I --fix for import sorting and ruff format for code formatting.
  • packages/google-cloud-monitoring-dashboards/noxfile.py
    • Replaced BLACK_VERSION and ISORT_VERSION with RUFF_VERSION.
    • Updated the lint session to use ruff format --check for formatting verification.
    • Deprecated the blacken session, adding a warning and migrating its functionality to ruff format.
    • Rewrote the format session to utilize ruff check --select I --fix for import sorting and ruff format for code formatting.
  • packages/google-cloud-monitoring/noxfile.py
    • Replaced BLACK_VERSION and ISORT_VERSION with RUFF_VERSION.
    • Updated the lint session to use ruff format --check for formatting verification.
    • Deprecated the blacken session, adding a warning and migrating its functionality to ruff format.
    • Rewrote the format session to utilize ruff check --select I --fix for import sorting and ruff format for code formatting.
  • packages/google-cloud-os-login/noxfile.py
    • Replaced BLACK_VERSION and ISORT_VERSION with RUFF_VERSION.
    • Updated the lint session to use ruff format --check for formatting verification.
    • Deprecated the blacken session, adding a warning and migrating its functionality to ruff format.
    • Rewrote the format session to utilize ruff check --select I --fix for import sorting and ruff format for code formatting.
  • packages/google-cloud-translate/noxfile.py
    • Replaced BLACK_VERSION and ISORT_VERSION with RUFF_VERSION.
    • Updated the lint session to use ruff format --check for formatting verification.
    • Deprecated the blacken session, adding a warning and migrating its functionality to ruff format.
    • Rewrote the format session to utilize ruff check --select I --fix for import sorting and ruff format for code formatting.
  • packages/google-cloud-vision/noxfile.py
    • Replaced BLACK_VERSION and ISORT_VERSION with RUFF_VERSION.
    • Updated the lint session to use ruff format --check for formatting verification.
    • Deprecated the blacken session, adding a warning and migrating its functionality to ruff format.
    • Rewrote the format session to utilize ruff check --select I --fix for import sorting and ruff format for code formatting.
  • packages/googleapis-common-protos/noxfile.py
    • Replaced BLACK_VERSION and ISORT_VERSION with RUFF_VERSION.
    • Updated the lint session to use ruff format --check for formatting verification.
    • Deprecated the blacken session, adding a warning and migrating its functionality to ruff format.
    • Rewrote the format session to utilize ruff check --select I --fix for import sorting and ruff format for code formatting.
  • packages/grpc-google-iam-v1/noxfile.py
    • Replaced BLACK_VERSION and ISORT_VERSION with RUFF_VERSION.
    • Updated the lint session to use ruff format --check for formatting verification.
    • Deprecated the blacken session, adding a warning and migrating its functionality to ruff format.
    • Rewrote the format session to utilize ruff check --select I --fix for import sorting and ruff format for code formatting.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request successfully migrates the handwritten noxfiles from using black and isort to ruff for linting and formatting. The changes are consistent across all modified files. I have a couple of suggestions to improve the implementation:

  1. In the blacken session, the comment about preserving legacy behavior is inaccurate, as ruff format also sorts imports, unlike black. I've suggested updating the comment to reflect the new behavior.
  2. The format session can be simplified. It currently uses two separate ruff commands, one for fixing imports and another for formatting. Since ruff format can handle both, these can be combined into a single, more efficient command.

These changes will make the noxfiles cleaner and more efficient. Overall, this is a great step towards modernizing the development tooling.

Copy link
Contributor

@vchudnov-g vchudnov-g left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing this! Just one nit

@parthea parthea merged commit aaea04c into main Feb 19, 2026
27 checks passed
@parthea parthea deleted the replace-black-with-ruff-for-handwritten-clients branch February 19, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments