# ruff-pre-commit [](https://github.com/astral-sh/ruff) [](https://pypi.python.org/pypi/ruff) [](https://pypi.python.org/pypi/ruff) [](https://pypi.python.org/pypi/ruff) [](https://github.com/astral-sh/ruff-pre-commit/actions) A [pre-commit](https://pre-commit.com/) hook for [Ruff](https://github.com/astral-sh/ruff). Distributed as a standalone repository to enable installing Ruff via prebuilt wheels from [PyPI](https://pypi.org/project/ruff/). ### Using Ruff with pre-commit Add this to your `.pre-commit-config.yaml`: ```yaml - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. rev: v0.1.2 hooks: - id: ruff ``` Or, to enable autofix: ```yaml - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. rev: v0.1.2 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] ``` To run the hook on Jupyter Notebooks too: ```yaml - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. rev: v0.1.2 hooks: - id: ruff types_or: [python, pyi, jupyter] ``` Ruff's pre-commit hook should be placed after other formatting tools, such as Black and isort, _unless_ you enable autofix, in which case, Ruff's pre-commit hook should run _before_ Black, isort, and other formatting tools, as Ruff's autofix behavior can output code changes that require reformatting. ### Using Ruff's formatter (unstable) [Ruff's formatter](https://github.com/astral-sh/ruff/blob/main/crates/ruff_python_formatter/README.md) is in Alpha, but can used with pre-commit by adding the `ruff-format` hook: ```yaml - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. rev: v0.1.2 hooks: - id: ruff-format ``` To check formatting without changing files, use `--check`: ```yaml - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. rev: v0.1.2 hooks: - id: ruff-format args: [--check] ``` Note `v0.0.290` is the minimum version that provides the `ruff-format` hook. ## License MIT