# Ruff configuration — https://docs.astral.sh/ruff/ # # CI gates on correctness rules only: pyflakes (F) plus the pycodestyle error # subsets E4/E7/E9. These catch real problems — undefined names, unused imports # and variables, redefinitions, bare excepts, syntax errors. # # Cosmetic rules (line-length E501, whitespace W2xx) are intentionally NOT # enforced yet: turning them on would require reformatting the existing code in # one large diff. Adopting `ruff format` is tracked as a roadmap item in README. # Matches the CI matrix (3.11/3.12) and the Docker image (3.12). The pinned # requirements no longer install on 3.9 or 3.10. target-version = "py311" [lint] select = ["E4", "E7", "E9", "F"]