forked from DefectDojo/django-DefectDojo
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathruff.toml
More file actions
125 lines (117 loc) · 3.04 KB
/
ruff.toml
File metadata and controls
125 lines (117 loc) · 3.04 KB
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# Always generate Python 3.12-compatible code.
target-version = "py312"
# Same as Black.
line-length = 120
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".mypy_cache",
".nox",
".pants.d",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"venv",
# Not for the dojo specific stuff
"dojo/db_migrations"
]
[lint]
select = [
"AIR",
"FAST",
"YTT",
"ASYNC",
"S1", "S2", "S302", "S303", "S304", "S305", "S306", "S307", "S31", "S321", "S323", "S324", "S401", "S402", "S406", "S407", "S408", "S409", "S41", "S5", "S601", "S602", "S604", "S605", "S606", "S607", "S609", "S61", "S7",
"FBT",
"B00", "B010", "B011", "B012", "B013", "B014", "B015", "B016", "B017", "B018", "B019", "B020", "B021", "B022", "B023", "B025", "B028", "B029", "B03", "B901", "B903", "B905", "B911",
"A",
"COM",
"C4",
"DTZ003", "DTZ004", "DTZ012", "DTZ901",
"T10",
"DJ003", "DJ01",
"EM",
"EXE",
"FIX",
"FA",
"INT",
"ISC",
"ICN",
"LOG",
"G001", "G002", "G01", "G1", "G2",
"INP",
"PIE",
"T20",
"PYI",
"PT001", "PT002", "PT003", "PT006", "PT007", "PT008", "PT01", "PT020", "PT021", "PT022", "PT023", "PT024", "PT025", "PT026", "PT028", "PT029", "PT03",
"Q",
"RSE",
"RET",
"SIM",
"SLOT",
"TID",
"TD001", "TD004", "TD005", "TD007",
"TC",
"ARG003", "ARG004", "ARG005",
"PTH",
"FLY",
"I",
"C90",
"NPY",
"PD",
"N803", "N804", "N811", "N812", "N813", "N814", "N817", "N818", "N999",
"PERF1", "PERF2", "PERF401", "PERF403",
"E",
"W",
"DOC202", "DOC403", "DOC502",
"D2", "D3", "D402", "D403", "D405", "D406", "D407", "D408", "D409", "D410", "D411", "D412", "D413", "D414", "D416",
"F",
"PGH",
"PLC0", "PLC1", "PLC24", "PLC28", "PLC3",
"PLE",
"PLR01", "PLR02", "PLR04", "PLR0915", "PLR1711", "PLR1704", "PLR1714", "PLR1716", "PLR172", "PLR173", "PLR2044", "PLR5", "PLR6104", "PLR6201",
"PLW",
"UP",
"FURB",
"RUF",
"TRY003", "TRY004", "TRY2", "TRY300", "TRY401",
]
ignore = [
"E501",
"E722",
"SIM102",
"SIM115",
"RUF012",
"RUF015",
"D205",
"FIX002", # TODOs need some love but we will probably not get of them
"D211", # `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.
]
# Allow autofix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = []
preview = true
[lint.per-file-ignores]
"unittests/**" = [
"S105", # hardcoded passwords in tests are fine
"S108", # tmp paths mentioned in tests are fine
]
[lint.flake8-boolean-trap]
extend-allowed-calls = ["dojo.utils.get_system_setting"]
[lint.pylint]
max-statements = 234
[lint.mccabe]
max-complexity = 70 # value is far from perfect (recommended default is 10). But we will try to decrease it over the time.