Ruff is an extremely fast Python linter and formatter, written in Rust. It can process all of mozilla-central in under a second, and implements rule sets from a large array of Python linters and formatters, including:

  • flake8 (pycodestyle, pyflakes and mccabe)

  • isort

  • pylint

  • pyupgrade

  • and many many more!

Run Locally

The mozlint integration of ruff can be run using mach:

$ mach lint --linter ruff <file paths>


Ruff is configured in the root pyproject.toml file. Additionally, ruff will pick up any pyproject.toml or ruff.toml files in subdirectories. The settings in these files will only apply to files contained within these subdirs. For more details on configuration discovery, see the configuration documentation.

For a list of options, see the settings documentation.