1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
target-version = "py39"
line-length = 120
[lint]
exclude = [
"tests/fixtures/*.py",
]
select = ["ALL"]
ignore = [
"A001", # Variable is shadowing a Python builtin
"A005", # Module shadows a Python standard-library module
"ANN101", # Missing type annotation for self
"ANN102", # Missing type annotation for cls
"ANN204", # Missing return type annotation for special method __str__
"ANN401", # Dynamically typed expressions (typing.Any) are disallowed
"ARG005", # Unused lambda argument
"C901", # Too complex
"D105", # Missing docstring in magic method
"D417", # Missing argument description in the docstring
"E501", # Line too long
"EM", # Raw strings in exceptions
"FIX001", # Line contains FIXME
"FIX002", # Line contains TODO
"ERA001", # Commented out code
"PD", # Pandas-related
"PERF203", # Try-except block in for loop (zero-cost with Python 3.11+)
"PLR0911", # Too many return statements
"PLR0912", # Too many branches
"PLR0913", # Too many arguments to function call
"PLR0915", # Too many statements
"SLF001", # Private member accessed
"TD001", # Invalid TODO tag: FIXME
"TD002", # Missing author in TODO
"TD003", # Missing issue link on the line following this TODO
"TRY003", # Avoid specifying long messages outside the exception class
]
logger-objects = ["griffe.logger"]
[lint.per-file-ignores]
"src/griffe/__main__.py" = [
"D100", # Missing module docstring
]
"src/griffe/_internal/cli.py" = [
"T201", # Print statement
]
"src/griffe/_internal/git.py" = [
"S603", # `subprocess` call: check for execution of untrusted input
"S607", # Starting a process with a partial executable path
]
"src/griffe/_internal/agents/nodes/*.py" = [
"ARG001", # Unused function argument
"N812", # Lowercase `keyword` imported as non-lowercase `NodeKeyword`
]
"src/griffe/_internal/debug.py" = [
"T201", # Print statement
]
"src/griffe/_internal/**.py" = [
"D100", # Missing docstring in public module
]
"scripts/*.py" = [
"D100", # Missing docstring in public module
"D101", # Missing docstring in public class
"D103", # Missing docstring in public function
"INP001", # File is part of an implicit namespace package
"T201", # Print statement
]
"tests/test_git.py" = [
"S603", # `subprocess` call: check for execution of untrusted input
"S607", # Starting a process with a partial executable path
]
"tests/**.py" = [
"ARG005", # Unused lambda argument
"FBT001", # Boolean positional arg in function definition
"PLC1901", # a == "" can be simplified to not a
"PLR2004", # Magic value used in comparison
"S101", # Use of assert detected
]
[lint.flake8-quotes]
docstring-quotes = "double"
[lint.flake8-tidy-imports]
ban-relative-imports = "all"
[lint.isort]
known-first-party = ["griffe"]
[lint.pydocstyle]
convention = "google"
[format]
exclude = [
"tests/fixtures/*.py",
]
docstring-code-format = true
docstring-code-line-length = 80
|