@@ -74,6 +74,66 @@ module = [
74
74
]
75
75
ignore_missing_imports = true
76
76
77
+ [tool .ruff .lint ]
78
+ # TODO add "I" (isort)
79
+ # TODO add "RUF"
80
+ # TODO add "ARG"
81
+ # TODO add "SIM"
82
+ # TODO add "S" (bandit)
83
+ # TODO add "PT" (pytest style)
84
+ # TODO add "CPY101"
85
+ select = [" E" , " F" , " PL" , " D" , " R" , " T10" , " EXE" ]
86
+ ignore = [
87
+ " D105" , # missing doc string for dunder methods
88
+ " D200" , # one line doc string
89
+ " D202" , # blank lines after function docstring
90
+ " D205" , # doc on first line
91
+ " D212" , # doc on first line
92
+ " D410" , # blank line after doc section
93
+ " D411" , # blank line before doc section
94
+ " D412" , # no blank lines after section header
95
+ " D415" , # doc title punctuation
96
+ " E501" , # line too long
97
+ " PLC0105" , # covariant metatype names
98
+ " PLR0913" , # too-many-argument
99
+ " PLR2004" , # magic value
100
+ " PT001" , # allow @pytest.fixture without parens
101
+ " RET504" , # unnecessary assignment to variable before return
102
+ " S101" , # use of assert - do we care?
103
+ # TODO: fix the ones below
104
+ " D403" , # capitalize first word of doc string
105
+ " D102" , # undocumented public method
106
+ " D104" , # missing docstring in public package
107
+ " D107" , # __init__ docstring
108
+ " D417" , # missing argument description
109
+ ]
110
+ preview = true
111
+ explicit-preview-rules = true # only preview explicitly selected rules (E.g. CPY001)
112
+
113
+ [tool .ruff .lint .per-file-ignores ]
114
+ # Ignore some issues in tests
115
+ "tests/**" = [
116
+ " F401" , # unused import (pytest fixture)
117
+ " F403" , # wildcard import (for fixtures)
118
+ " F405" , # defined from star imports (typicallky a pytest fixture)
119
+ " F811" , # redefinition of unused (typically a pytest fixture)
120
+ " PLR0912" , # too many branches
121
+ " PLR0915" , # too many statements
122
+ " S" , # bandit rules
123
+ ]
124
+
125
+ [tool .ruff .lint .pylint ]
126
+ # max-locals = 30
127
+ max-branches = 15
128
+ # max-attributes = 30
129
+
130
+ [tool .ruff .lint .pydocstyle ]
131
+ convention = " google"
132
+
133
+ [too .ruff .format ]
134
+ skip-magic-trailing-comma = false
135
+ line-ending = " lf"
136
+
77
137
[tool .pylint .main ]
78
138
jobs = 0
79
139
# Minimum Python version to use for version dependent checks.
0 commit comments