@@ -145,3 +145,92 @@ exclude_lines = [
145145 " if __name__ == .__main__.:" ,
146146 " if TYPE_CHECKING:" ,
147147]
148+
149+ [tool .ruff ]
150+ # Set target version to 3.10 to support match statements
151+ target-version = " py310"
152+
153+ [tool .ruff .lint ]
154+ # Suppress all current linter errors to establish a baseline
155+ ignore = [
156+ " A001" , # Variable shadows built-in
157+ " A002" , # Argument shadows built-in
158+ " A004" , # Import shadows built-in
159+ " ARG001" , # Unused function argument
160+ " B006" , # Mutable default argument
161+ " B007" , # Unused loop control variable
162+ " B008" , # Function call in argument defaults
163+ " B023" , # Function uses loop variable
164+ " B904" , # raise-without-from-inside-except
165+ " BLE001" , # Blind except
166+ " C405" , # Unnecessary literal set
167+ " C416" , # Unnecessary comprehension
168+ " E721" , # Type comparison using ==
169+ " E722" , # Bare except
170+ " E741" , # Ambiguous variable name
171+ " EM101" , # Exception string literal
172+ " EM102" , # Exception f-string
173+ " F401" , # Unused import
174+ " F541" , # f-string without placeholders
175+ " F811" , # Redefinition of unused name
176+ " F821" , # Undefined name
177+ " F841" , # Unused variable
178+ " FA100" , # Missing from __future__ import annotations
179+ " FA102" , # Missing from __future__ import annotations in stub
180+ " FBT001" , # Boolean positional arg in function definition
181+ " FBT002" , # Boolean default value in function definition
182+ " FURB188" , # Prefer removeprefix over conditional slice
183+ " G004" , # Logging with f-string
184+ " I001" , # Import block unsorted or unformatted
185+ " INP001" , # Implicit namespace package
186+ " LOG015" , # root logger usage
187+ " N801" , # Class name should use CapWords convention
188+ " N802" , # Function name should be lowercase
189+ " N806" , # Variable in function should be lowercase
190+ " N818" , # Exception name should end with Error
191+ " PERF102" , # Use keys() or values() instead of items()
192+ " PERF401" , # Use list comprehension
193+ " PIE790" , # Unnecessary pass statement
194+ " PLC0415" , # Import should be at top of file
195+ " PLC1802" , # Use of len(x) == 0
196+ " PLR2004" , # Magic value used in comparison
197+ " PLW0602" , # Global variable not assigned
198+ " PLW0603" , # Using global statement
199+ " PLW1508" , # Invalid envvar default
200+ " PLW2901" , # Outer loop variable overwritten
201+ " PT011" , # pytest.raises too broad
202+ " PYI041" , # Use float instead of int | float
203+ " RET503" , # Missing explicit return
204+ " RET504" , # Unnecessary assignment before return
205+ " RET505" , # Unnecessary else after return
206+ " RET506" , # Unnecessary else after raise
207+ " RUF005" , # Unpack instead of concatenation
208+ " RUF010" , # Use explicit conversion flag
209+ " RUF015" , # Prefer next() over single element slice
210+ " RUF059" , # Use of private function/attribute
211+ " RUF100" , # Unused noqa directive
212+ " S108" , # Hardcoded temp file/directory
213+ " S607" , # Starting process with partial path
214+ " SIM102" , # Use single if statement
215+ " SIM115" , # Use context handler for file
216+ " SIM210" , # Use ternary operator
217+ " SLF001" , # Private member access
218+ " T201" , # print found
219+ " TID252" , # Relative imports from parent modules
220+ " TRY003" , # Raise vanilla args
221+ " TRY004" , # Prefer TypeError for wrong type
222+ " TRY300" , # Consider moving statement to else
223+ " TRY301" , # Abstract raise to inner function
224+ " TRY400" , # Use logging.exception instead of logging.error
225+ " UP004" , # Use X | Y for union types
226+ " UP006" , # Use X | Y for union types in isinstance
227+ " UP009" , # UTF-8 encoding declaration
228+ " UP015" , # Unnecessary mode argument
229+ " UP020" , # Use builtin open
230+ " UP024" , # Replace aliased errors with OSError
231+ " UP032" , # Use f-string
232+ " UP035" , # Import from collections.abc
233+ " UP045" , # Use X | None for type annotations
234+ " W291" , # Trailing whitespace
235+ " W293" , # Blank line contains whitespace
236+ ]
0 commit comments