-
Notifications
You must be signed in to change notification settings - Fork 2
/
ruff.toml
84 lines (78 loc) · 2.76 KB
/
ruff.toml
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
# https://docs.astral.sh/ruff/tutorial/#configuration
fix = true # automatically fix problems if possible
line-length = 120
# https://docs.astral.sh/ruff/linter/#rule-selection
[lint]
# Enable these rules
extend-select = [
"A", # flake8-builtins
"ARG", # flake8-unused-arguments
"BLE", # flake8-blind-except
"C4", # flake8-comprehensions
"COM", # flake8-commas
"DTZ", # flake8-datetimez
"E", # Error
"F", # Pyflakes
"I", # isort
"ICN", # flake8-import-conventions
"ISC", # flake8-implicit-str-concat
"N", # pep8-naming
"PD", # pandas-vet
"PGH", # pygrep-hooks
"PIE", # flake8-pie
"PLC", # Pylint Convention
"PLE", # Pylint Error
"PLR", # Pylint Refactor
"PLW", # Pylint Warning
"PT", # flake8-pytest-style
"Q", # flake8-quotes
"RUF", # Ruff-specific rules
"S", # flake8-bandit
"SIM", # flake8-simplify
"T10", # flake8-debugger
"TID", # flake8-tidy-imports
"UP", # pyupgrade
]
# except for these specific errors
ignore = [
# "A001", # builtin-variable-shadowing
# "ARG001", # unused-function-argument
"ARG002", # unused-method-argument
# "ARG003", # unused-class-method-argument
# "BLE001", # blind-except
"COM812", # missing-trailing-comma
"COM819", # prohibited-trailing-comma
# "E501", # line-too-long
"ISC001", # single-line-implicit-string-concatenation
# "N806", # non-lowercase-variable-in-function
# "PLC1901", # compare-to-empty-string (preview)
"PLR0402", # manual-from-import
# "PLR0911", # too-many-return-statements
# "PLR0912", # too-many-branches
"PLR0913", # too-many-arguments
# "PLR0915", # too-many-statements
"PLR2004", # magic-value-comparison
# "PT009", # pytest-unittest-assertion
# "Q000", # bad-quotes-inline-string
# "RUF012", # mutable-class-default
# "S106", # hardcoded-password-func-arg
# "S311", # suspicious-non-cryptographic-random-usage
# "S320", # suspicious-xmle-tree-usage
# "S603", # subprocess-without-shell-equals-true
# "S607", # start-process-with-partial-path
# "S701", # jinja2-autoescape-false
"SIM108", # if-else-block-instead-of-if-exp
"PT009", # pytest-unittest-assertion
]
[lint.pylint]
# network.py has some fancy nested loops that necessitate nested statements & branches
# Raise the allowed limits the least possible amount https://docs.astral.sh/ruff/settings/#pylint-max-branches
max-statements = 84
max-branches = 18
[lint.per-file-ignores]
"thermalnetwork/tests/*" = ["S101", "S607", "S603"] # assert statements are allowed in tests, and paths are safe
# https://docs.astral.sh/ruff/formatter/#configuration
[format]
# quote-style = "double"
# preview = true
docstring-code-format = true