diff --git a/pyproject.toml b/pyproject.toml index 1c5f009..dbc3ff8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ ] [project.optional-dependencies] -dev = ["pytest>=8", "ruff>=0.4", "flake8>=7"] +dev = ["pytest>=8", "ruff>=0.4,<0.17", "flake8>=7"] [project.scripts] exact = "exact_linter.cli:main" @@ -42,3 +42,11 @@ testpaths = ["tests"] [tool.ruff] line-length = 100 target-version = "py310" + +[tool.ruff.lint] +# State the rule set explicitly rather than inheriting ruff's default, which +# is not stable across releases: 0.16 widened it to include isort, pylint, +# flake8-simplify and flake8-blind-except, and CI started failing on code +# that had not changed. The blind `except Exception` around eval()/pslq() is +# deliberate - a linter must degrade to None, never crash on user input. +select = ["E4", "E7", "E9", "F"]