Skip to content

Conversation

@LJX2017
Copy link
Contributor

@LJX2017 LJX2017 commented Dec 3, 2025

What changes were proposed in this PR?

  1. Replace flake8 and black with Ruff in CI.
  2. Format existing code using Ruff

Basic Ruff commands:
Under amber/src/main/python
cd amber/src/main/python
Run Ruff’s formatter in dry mode
ruff format --check .
Run Ruff’s formatter
ruff format .
Run Ruff’s linter
ruff check .

Any related issues, documentation, discussions?

Closes #4078

How was this PR tested?

I created a PR on my own fork to ensure CI is working.

Was this PR authored or co-authored using generative AI tooling?

No

@github-actions github-actions bot added engine dependencies Pull requests that update a dependency file python ci changes related to CI labels Dec 3, 2025
@chenlica chenlica requested a review from aglinxinyuan December 4, 2025 03:22
Copy link
Contributor

@aglinxinyuan aglinxinyuan left a comment

Choose a reason for hiding this comment

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

Explain how to use the tool in the PR description.

@github-actions github-actions bot added the build label Dec 5, 2025
@LJX2017 LJX2017 requested a review from aglinxinyuan December 5, 2025 16:07
Copy link
Contributor

@aglinxinyuan aglinxinyuan left a comment

Choose a reason for hiding this comment

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

LGTM!

Please let people know they need to pip install ruff

@aglinxinyuan aglinxinyuan enabled auto-merge (squash) December 6, 2025 02:10
@aglinxinyuan aglinxinyuan merged commit 8530645 into apache:main Dec 6, 2025
10 checks passed
Copy link
Contributor

@Yicong-Huang Yicong-Huang left a comment

Choose a reason for hiding this comment

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

Late LGTM. Thanks!

Left some minor comments, it will be good to address them with follow up PRs.

proto
)/
'''
target-version = "py310"
Copy link
Contributor

Choose a reason for hiding this comment

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

I think it is better to always target the highest python version we support, in this case, python 3.12.
@LJX2017 can you change it in a follow up PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

According to the official document from Ruff, target-version = "py310" means we support Python >=3.10, including python 3.12 and 3.13. Is this already the correct behavior or should we change it?

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok. I had the wrong impression that we should always declare highest version. In this case, let's keep py310. We will need to remember to update it when we drop 3.10 support.

tx_error "black not found. Install with: pip install black"
tx_info "Running ruff in amber/src/main/python..."
if ! command -v ruff >/dev/null 2>&1; then
tx_error "ruff not found. Install with: pip install ruff"
Copy link
Contributor

Choose a reason for hiding this comment

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

here the instruction should come with the exact version of ruff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build ci changes related to CI dependencies Pull requests that update a dependency file engine python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use Ruff to replace Flake8 and black

3 participants