--- obj: application repo: https://github.com/astral-sh/ruff website: https://docs.astral.sh/ruff rev: 2025-05-19 --- # ruff An extremely fast Python linter and code formatter, written in Rust. ## The Ruff Linter The Ruff Linter is an extremely fast Python linter designed as a drop-in replacement for [Flake8](https://pypi.org/project/flake8/) (plus dozens of plugins), [isort](https://pypi.org/project/isort/), [pydocstyle](https://pypi.org/project/pydocstyle/), [pyupgrade](https://pypi.org/project/pyupgrade/), [autoflake](https://pypi.org/project/autoflake/), and more. ### `ruff check` `ruff check` is the primary entrypoint to the Ruff linter. It accepts a list of files or directories, and lints all discovered Python files, optionally fixing any fixable errors. When linting a directory, Ruff searches for Python files recursively in that directory and all its subdirectories: ```console $ ruff check # Lint files in the current directory. $ ruff check --fix # Lint files in the current directory and fix any fixable errors. $ ruff check --watch # Lint files in the current directory and re-lint on change. $ ruff check path/to/code/ # Lint files in `path/to/code`. ``` ## The Ruff Formatter The Ruff formatter is an extremely fast Python code formatter designed as a drop-in replacement for [Black](https://pypi.org/project/black/), available as part of the `ruff` CLI via `ruff format`. ### `ruff format` `ruff format` is the primary entrypoint to the formatter. It accepts a list of files or directories, and formats all discovered Python files: ```shell ruff format # Format all files in the current directory. ruff format path/to/code/ # Format all files in `path/to/code` (and any subdirectories). ruff format path/to/file.py # Format a single file. ``` Similar to Black, running `ruff format /path/to/file.py` will format the given file or directory in-place, while `ruff format --check /path/to/file.py` will avoid writing any formatted files back, and instead exit with a non-zero status code upon detecting any unformatted files. For the full list of supported options, run `ruff format --help`. ## Configuration ruff can be configured via `ruff.toml` config file. See [here](https://docs.astral.sh/ruff/settings/) for a reference of all config parameters.