Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Ruff Processor

Purpose

Lints Python source files using ruff.

How It Works

Discovers .py files in the project (excluding common non-source directories), runs ruff check on each file, and creates a stub file on success. A non-zero exit code from ruff fails the product.

This processor supports batch mode, allowing multiple files to be checked in a single ruff invocation for better performance.

Source Files

  • Input: **/*.py
  • Output: none (checker — a passing check is recorded in the cache, no file is written)

Configuration

[processor.checker.ruff]
command = "ruff"                            # The ruff command to run
args = []                                  # Additional arguments to pass to ruff
dep_inputs = []                          # Additional files that trigger rebuilds (e.g. ["pyproject.toml"])
KeyTypeDefaultDescription
commandstring"ruff"The ruff executable to run
argsstring[][]Extra arguments passed to ruff
dep_inputsstring[][]Extra files whose changes trigger rebuilds
output_depends_on_input_namebooltrueKey cached results by file path as well as content, because per-file-ignores, INP001, N999 and import sorting depend on where a file lives. A renamed file is re-checked instead of reusing its old verdict. See output_depends_on_input_name

Batch support

The tool accepts multiple files on the command line. When batching is enabled (default), rsconstruct passes all files in a single invocation for better performance.

Clean behavior

This processor is a Checker — rsconstruct clean outputs is a no-op for it (checkers produce no outputs). See Clean behavior and rsconstruct clean.