@@ -74,6 +74,66 @@ module = [
7474]
7575ignore_missing_imports = true
7676
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+
77137[tool .pylint .main ]
78138jobs = 0
79139# Minimum Python version to use for version dependent checks.
0 commit comments