@@ -10,11 +10,8 @@ python = "^3.7"
1010
1111[tool .poetry .dev-dependencies ]
1212# lint
13- flake8 = " 5.0.4"
1413black = " 23.1.0"
15- flake8-docstrings = " 1.7.0"
16- flake8-quotes = " 3.3.2"
17- flake8-bugbear = " 23.3.12"
14+ ruff = " ^0.0.254"
1815
1916# test
2017pytest = " 7.2.2"
@@ -29,3 +26,29 @@ addopts = "--verbose --cov --showlocals --durations=5"
2926
3027[tool .coverage .run ]
3128omit = [" */tests/*" , " */site-packages/*" ]
29+
30+ [tool .ruff ]
31+ line-length = 100
32+ select = [" E" , " F" , " W" , " C90" , " I" , " D" , " UP" , " B" , " Q" ]
33+ # Rules to ignore:
34+ # D200 One-line docstring should fit on one line with quotes
35+ # D203 1 blank line required before class docstring
36+ # D212 Multi-line docstring summary should start at the first line
37+ # D400 First line should end with a period
38+ # D401 First line should be in imperative mood
39+ # D403 First word of the first line should be properly capitalized
40+ # D413 Missing blank line after last section
41+ # D415 First line should end with a period, question mark, or exclamation point
42+ ignore = [" D200" , " D203" , " D212" , " D400" , " D401" , " D403" , " D413" , " D415" ]
43+ exclude = [" __init__.py" , " work" , " .venv" , " .git" ]
44+
45+ [tool .ruff .per-file-ignores ]
46+ "tests/*" = [" D" ]
47+
48+ [tool .ruff .mccabe ]
49+ max-complexity = 10
50+
51+ [tool .ruff .flake8-quotes ]
52+ inline-quotes = " double"
53+ multiline-quotes = " double"
54+ docstring-quotes = " double"
0 commit comments