Skip to content

feat: migrate linting/formatting from flake8 + isort + yapf to Ruff #1743

Description

@korbonits
  • I have marked all applicable categories:
    • documentation request
    • new feature request
  • I have visited the [source website], and in particular read the [known issues]
  • I have searched through the [issue tracker] for duplicates
  • I have mentioned version numbers, operating system and environment, where applicable (not relevant for a tooling change)

Would the maintainers be open to migrating the linting and formatting toolchain from flake8/isort/yapf to Ruff?

The migration scope is well-defined:

  • Replace [tool.flake8], [tool.isort], and [tool.yapf] in pyproject.toml with a single [tool.ruff] section
  • Replace the flake8 + isort pre-commit hooks with a single Ruff hook
  • All flake8 plugins currently in use (bugbear, comprehensions, isort, and pyupgrade equivalents via UP rules) have direct Ruff implementations
  • yapf's column_limit = 99 and other style settings map cleanly to Ruff's formatter config
  • pyupgrade could either be kept as-is or absorbed into Ruff's UP ruleset — happy to defer to maintainer preference

The net result would be ~7 tools/plugins consolidated into one, faster CI, and a simpler pre-commit config — with no change to the rules enforced.

Happy to submit a PR if this direction is welcome. Just wanted to check alignment first.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions