@@ -9,10 +9,10 @@ dev = [
99 " mkdocs>=1.6" ,
1010 " mkdocstrings[python]>=0.30" ,
1111 " mypy>=1.17" ,
12- " pre-commit>=3.8 " ,
12+ " pre-commit>=4.3 " ,
1313 " pytest-cov>=4.1" ,
1414 " pytest>=7.4" ,
15- " ruff>= 0.12" ,
15+ " ruff== 0.12.11 " ,
1616 " tox-uv>=1.28"
1717]
1818
@@ -108,75 +108,92 @@ markers = [
108108testpaths = [" tests" ]
109109
110110[tool .ruff ]
111+ exclude = [
112+ " bin" ,
113+ " docs" ,
114+ " sbin"
115+ ]
111116fix = true
112117line-length = 100
113118src = [" src" , " tests" ]
114- target-version = " py39"
115119
116120[tool .ruff .format ]
117121docstring-code-format = true
118- preview = true
119- quote-style = " double"
120122
121123[tool .ruff .lint ]
122- fixable = [
123- " B" ,
124- " C4" ,
125- " D" ,
126- " EM" ,
127- " F401" ,
128- " F541" ,
129- " I" ,
130- " PERF" ,
131- " PIE" ,
132- " PT" ,
133- " RET" ,
134- " RSE" ,
135- " RUF" ,
136- " SIM" ,
137- " UP"
138- ]
139124ignore = [
140- " E111" ,
141- " E114" ,
142- " E117" ,
143- " E501" ,
144- " E731" ,
145- " PLR0913" ,
146- " S321" ,
147- " W191"
148- ]
149- select = [
150- " A" , # https://docs.astral.sh/ruff/rules/#flake8-builtins-a
151- " ARG" , # https://docs.astral.sh/ruff/rules/#flake8-unused-arguments-arg
152- " B" , # https://docs.astral.sh/ruff/rules/#flake8-bugbear-b
153- " C4" , # https://docs.astral.sh/ruff/rules/#flake8-comprehensions-c4
154- " DTZ" , # https://docs.astral.sh/ruff/rules/#flake8-datetimez-dtz
155- " E" ,
156- " EM" , # https://docs.astral.sh/ruff/rules/#flake8-errmsg-em
157- " F" , # https://docs.astral.sh/ruff/rules/#pyflakes-f
158- " G" , # https://docs.astral.sh/ruff/rules/#flake8-logging-format-g
159- " I" , # https://docs.astral.sh/ruff/rules/#isort-i
160- " LOG" , # https://docs.astral.sh/ruff/rules/#flake8-logging-log
161- " N" , # https://docs.astral.sh/ruff/rules/#pep8-naming-n
162- " PERF" , # https://docs.astral.sh/ruff/rules/#perflint-perf
163- " PIE" , # https://docs.astral.sh/ruff/rules/#flake8-pie-pie
164- " PL" , # https://docs.astral.sh/ruff/rules/#pylint-pl
165- " PT" , # https://docs.astral.sh/ruff/rules/#flake8-pytest-style-pt
166- " PTH" , # https://docs.astral.sh/ruff/rules/#flake8-use-pathlib-pth
167- " RET" , # https://docs.astral.sh/ruff/rules/#flake8-return-ret
168- " RSE" , # https://docs.astral.sh/ruff/rules/#flake8-raise-rse
169- " RUF" , # https://docs.astral.sh/ruff/rules/#ruff-specific-rules-ruf
170- " S" , # https://docs.astral.sh/ruff/rules/#flake8-bandit-s
171- " SIM" , # https://docs.astral.sh/ruff/rules/#flake8-simplify-sim
172- " TRY" , # https://docs.astral.sh/ruff/rules/#tryceratops-try
173- " UP" , # https://docs.astral.sh/ruff/rules/#pyupgrade-up
174- " W" , # https://docs.astral.sh/ruff/rules/#pycodestyle-e-w
175- " YTT" # https://docs.astral.sh/ruff/rules/#flake8-2020-ytt
125+ " AIR" ,
126+ " ANN002" ,
127+ " ANN003" ,
128+ " C90" ,
129+ " COM812" , # ignore for compatibility with formatter
130+ " CPY" ,
131+ " D105" ,
132+ " D203" ,
133+ " D205" ,
134+ " D206" ,
135+ " D213" , # conflicts with D212
136+ " D300" , # ignore for compatibility with formatter
137+ " D400" ,
138+ " D401" ,
139+ " D403" ,
140+ " D415" ,
141+ " DJ" ,
142+ " E111" , # ignore for compatibility with formatter
143+ " E114" , # ignore for compatibility with formatter
144+ " E117" , # ignore for compatibility with formatter
145+ " E501" , # ignore for compatibility with formatter
146+ " EM" ,
147+ " ERA" ,
148+ " EXE" ,
149+ " FA" ,
150+ " FAST" ,
151+ " FBT" ,
152+ " FIX" ,
153+ " INT" ,
154+ " NPY" ,
155+ " PD" ,
156+ " PGH003" ,
157+ " PLR0904" , # subjective pylint threshold
158+ " PLR091" , # subjective pylint threshold
159+ " PLR1702" , # subjective pylint threshold
160+ " PYI" ,
161+ " RET504" ,
162+ " TC" ,
163+ " TD" ,
164+ " TID" ,
165+ " TRY003" ,
166+ " W191" ,
167+ " YTT"
176168]
169+ select = [" ALL" ]
170+
171+ [tool .ruff .lint .flake8-annotations ]
172+ mypy-init-return = true
177173
178174[tool .ruff .lint .per-file-ignores ]
179- "tests/*" = [" S101" ]
175+ # ANN001 - missing-type-function-argument
176+ # ANN2 - missing-return-type
177+ # D100 - undocumented-public-module
178+ # D101 - undocumented-public-class
179+ # D102 - undocumented-public-method
180+ # D103 - undocumented-public-function
181+ # S101 - assert
182+ # B011 - assert-false
183+ # INP001 - implicit-namespace-package
184+ # SLF001 - private-member-access
185+ # BLE001 - blind-except
186+ "tests/*" = [
187+ " ANN001" ,
188+ " ANN2" ,
189+ " B011" ,
190+ " BLE001" ,
191+ " D10" ,
192+ " D100" ,
193+ " INP001" ,
194+ " S101" ,
195+ " SLF001"
196+ ]
180197
181198[tool .setuptools ]
182199include-package-data = true
0 commit comments