4848 ' too-many-return-statements' ,
4949 ' too-many-lines' ,
5050 ' locally-disabled' ,
51- # Let flake8 handle long lines
51+ # Let ruff handle long lines
5252 ' line-too-long' ,
53- # Let flake8 handle unused imports
53+ # Let ruff handle unused imports
5454 ' unused-import' ,
55- # Let isort deal with sorting
55+ # Let ruff deal with sorting
5656 ' ungrouped-imports' ,
5757 # We don't need everything to be documented because of mypy
5858 ' missing-type-doc' ,
5959 ' missing-return-type-doc' ,
6060 # Too difficult to please
6161 ' duplicate-code' ,
62- # Let isort handle imports
62+ # Let ruff handle imports
6363 ' wrong-import-order' ,
6464 # mypy does not want untyped parameters.
6565 ' useless-type-doc' ,
8888
8989line-length = 79
9090
91- [tool .isort ]
92-
93- multi_line_output = 3
94- include_trailing_comma = true
95-
9691[tool .coverage .run ]
9792
9893branch = true
@@ -106,16 +101,7 @@ log_cli = true
106101
107102ignore = [
108103 " *.enc" ,
109- " .appveyor.yml" ,
110- " .coveragerc" ,
111- " .isort.cfg" ,
112- " .markdownlint.json" ,
113- " .pydocstyle" ,
114- " .remarkrc" ,
115- " .readthedocs.yml" ,
116104 " readthedocs.yaml" ,
117- " .style.yapf" ,
118- " .travis.yml" ,
119105 " CHANGELOG.rst" ,
120106 " CODE_OF_CONDUCT.rst" ,
121107 " CONTRIBUTING.rst" ,
@@ -128,9 +114,6 @@ ignore = [
128114 " docs" ,
129115 " docs/**" ,
130116 " .git_archival.txt" ,
131- " mypy.ini" ,
132- " pylintrc" ,
133- " pytest.ini" ,
134117 " spelling_private_dict.txt" ,
135118 " tests" ,
136119 " tests-pylintrc" ,
@@ -164,23 +147,50 @@ module = [
164147
165148ignore_missing_imports = true
166149
167- [tool .pydocstyle ]
168- # We do not have summary lines, care about "mood", or need sections with
169- # dash underlined titles.
170- ignore = [
171- ' D200' ,
172- ' D205' ,
173- ' D400' ,
174- ' D415' ,
175- ' D202' ,
176- ' D203' ,
177- ' D212' ,
178- ' D401' ,
179- ' D406' ,
180- ' D407' ,
181- ' D413' ,
182- ]
183-
184150[build-system ]
185151requires = [" setuptools" , " pip" , " wheel" ]
186152build-backend = " setuptools.build_meta"
153+
154+ [tool .ruff ]
155+ select = [" ALL" ]
156+
157+ ignore = [
158+ # We do not annotate the type of 'self'.
159+ " ANN101" ,
160+ # We are happy to manage our own "complexity".
161+ " C901" ,
162+ # Allow our chosen docstring line-style - no one-line summary.
163+ " D200" ,
164+ " D203" ,
165+ " D205" ,
166+ " D212" ,
167+ " D213" ,
168+ # Allow backslashes in a docstring.
169+ # See https://click.palletsprojects.com/en/8.0.x/documentation/#preventing-rewrapping.
170+ " D301" ,
171+ # It is too much work to make every docstring imperative.
172+ " D401" ,
173+ # We ignore some docstyle errors which do not apply to Google style
174+ # docstrings.
175+ " D406" ,
176+ " D407" ,
177+ # We have an existing interface to support and so we do not want to change
178+ # exception names.
179+ " N818" ,
180+ # Ignore "too-many-*" errors as they seem to get in the way more than
181+ # helping.
182+ " PLR0912" ,
183+ " PLR0913" ,
184+ # Allow 'assert' as we use it for tests.
185+ " S101" ,
186+ # Allow imports which are only used for type checking to be outside type
187+ # checking blocks.
188+ " TCH002" ,
189+ " TCH003" ,
190+ ]
191+
192+ [tool .ruff .per-file-ignores ]
193+ "tests/test_*.py" = [
194+ # Do not require tests to have a one-line summary.
195+ " D205" ,
196+ ]
0 commit comments