diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c933161..a8dba73 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,7 +15,7 @@ repos: - id: tox-ini-fmt args: ["-p", "fix"] - repo: https://github.com/tox-dev/pyproject-fmt - rev: "2.0.3" + rev: "2.1.1" hooks: - id: pyproject-fmt additional_dependencies: ["tox>=4.12.1"] diff --git a/pyproject.toml b/pyproject.toml index 17e12d8..f3e45ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,44 +67,43 @@ build.hooks.vcs.version-file = "src/pipdeptree/version.py" 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 + "PLC2701", # Private import in tests + "PLR0913", # any number of arguments in tests + "PLR0917", # any number of arguments in tests + "PLR2004", # Magic value used in comparison, consider replacing with a constant variable + "S603", # `subprocess` call: check for execution of untrusted input +] lint.isort = { known-first-party = [ "pipdeptree", ], required-imports = [ "from __future__ import annotations", ] } -lint.select = [ - "ALL", -] lint.ignore = [ - "S101", # asserts allowed - "INP001", # no implicit namespace - "D104", # Missing docstring in public package - "S104", # Possible binding to all interface "ANN101", # No type annotation for self "ANN102", # Missing type annotation for `cls` in classmethod "ANN401", # Dynamically typed expressions (typing.Any) are disallowed in + "COM812", # Conflict with formatter + "CPY", # No copyright statements + "D104", # Missing docstring in public package "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 - "COM812", # Conflict with formatter + "INP001", # no implicit namespace "ISC001", # Conflict with formatter - "CPY", # No copyright statements + "S101", # asserts allowed + "S104", # Possible binding to all interface ] lint.preview = true -format.preview = true -format.docstring-code-format = true -format.docstring-code-line-length = 100 -[tool.ruff.lint.per-file-ignores] -"tests/**/*.py" = [ - "PLR0913", # any number of arguments in tests - "PLR0917", # any number of arguments in tests - "PLC2701", # Private import in tests - "FBT", # don"t care about booleans as positional arguments in tests - "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"