diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index dad38dbc9..be8c7bb6f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -20,7 +20,7 @@ repos: - id: tox-ini-fmt args: ["-p", "fix"] - repo: https://github.com/tox-dev/pyproject-fmt - rev: "2.0.4" + rev: "2.1.1" hooks: - id: pyproject-fmt - repo: https://github.com/astral-sh/ruff-pre-commit diff --git a/pyproject.toml b/pyproject.toml index dc3ff02ad..d1eec31ff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -111,46 +111,45 @@ build.targets.sdist.include = [ version.source = "vcs" [tool.ruff] -line-length = 120 target-version = "py38" +line-length = 120 +format.preview = true +format.docstring-code-line-length = 100 +format.docstring-code-format = true +lint.select = [ + "ALL", +] +lint.per-file-ignores."tests/**/*.py" = [ + "D", # don't care about documentation in tests + "FBT", # don"t care about booleans as positional arguments in tests + "INP001", # no implicit namespace + "PLR2004", # Magic value used in comparison, consider replacing with a constant variable + "S101", # asserts allowed in tests... + "S603", # `subprocess` call: check for execution of untrusted input +] lint.isort = { known-first-party = [ "tox", "tests", ], required-imports = [ "from __future__ import annotations", ] } -lint.select = [ - "ALL", -] lint.ignore = [ - "CPY", # No copyright header - "INP001", # no implicit namespaces here - "D", # ignore documentation for now - "ANN401", # Dynamically typed expressions (typing.Any) are disallowed in `arg`" "ANN101", # Missing type annotation for `self` in method "ANN102", # Missing type annotation for `cls` in classmethod" + "ANN401", # Dynamically typed expressions (typing.Any) are disallowed in `arg`" + "COM812", # conflicts with formatter + "CPY", # No copyright header + "D", # ignore documentation for now "D203", # `one-blank-line-before-class` (D203) and `no-blank-line-before-class` (D211) are incompatible "D212", # `multi-line-summary-first-line` (D212) and `multi-line-summary-second-line` (D213) are incompatible - "S104", # Possible binding to all interfaces - "COM812", # conflicts with formatter + "INP001", # no implicit namespaces here "ISC001", # conflicts with formatter - "S404", # Using subprocess is alright. "PLR0914", ## Too many local variables "PLR0917", ## Too many positional arguments + "S104", # Possible binding to all interfaces + "S404", # Using subprocess is alright. ] -format.preview = true lint.preview = true -format.docstring-code-format = true -format.docstring-code-line-length = 100 -[tool.ruff.lint.per-file-ignores] -"tests/**/*.py" = [ - "S101", # asserts allowed in tests... - "FBT", # don"t care about booleans as positional arguments in tests - "INP001", # no implicit namespace - "D", # don't care about documentation in tests - "S603", # `subprocess` call: check for execution of untrusted input - "PLR2004", # Magic value used in comparison, consider replacing with a constant variable -] [tool.codespell] builtin = "clear,usage,en-GB_to_en-US"