Replace black/flake8/pylint with ruff#595
Conversation
- Drop black==22.6.0, flake8==5.0.4, pylint==2.15.0 from requirements-dev.txt - Add ruff (covers formatting, linting, and miscellaneous checks in one tool) - Migrate [tool.black] and [flake8] config to [tool.ruff] in pyproject.toml - Remove now-empty setup.cfg (flake8 config section) - Update lint.yaml CI to use `ruff check` and `ruff format --check` - Apply ruff format to 19 files that diverged from black's output No logic changes; formatting-only diffs in source files. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Hi @korbonits! Thank you for your pull request and welcome to our community. Action RequiredIn order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you. ProcessIn order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA. Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks! |
|
Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks! |
Summary
black==22.6.0,flake8==5.0.4, andpylint==2.15.0fromrequirements-dev.txtin favor of a singleruffdependency[tool.black](frompyproject.toml) and[flake8](fromsetup.cfg) config into[tool.ruff]/[tool.ruff.lint]/[tool.ruff.format]— preserving the existingline-length = 120, ignored codes (E203,E501), and per-file ignores for__init__.pyandhubconf.pysetup.cfg.github/workflows/lint.yamlto useruff checkandruff format --checkinstead of three separate tool invocationsruff formatto 19 files whose formatting had drifted from black's output; all other source files are unchangedMotivation
The current dev toolchain uses three separate tools pinned to versions from 2022. ruff replaces all three, runs 10–100x faster, and is configured in one place (
pyproject.toml). There is an open dependabot PR (#589) just to bump black — this supersedes it.ruff checkandruff format --checkboth pass cleanly on the full codebase after this change.Test plan
pip install -r requirements-dev.txtinstalls cleanlyruff check dinov2→All checks passed!ruff format --check dinov2→155 files already formatted🤖 Generated with Claude Code