-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathruff.toml
128 lines (110 loc) · 2.42 KB
/
ruff.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# Exclude a variety of commonly ignored directories.
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".mypy_cache",
".nox",
".pants.d",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"venv",
"third_party",
]
# Same as Black.
line-length = 88
indent-width = 4
target-version = "py310"
[format]
# Use double quotes for strings.
quote-style = "double"
# Indent with spaces, rather than tabs.
indent-style = "space"
# Like Black, respect magic trailing commas.
skip-magic-trailing-comma = false
# Like Black, automatically detect the appropriate line ending.
line-ending = "auto"
[lint]
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
select = ["E", "F", "B", "W", "I001"]
ignore = ["E501", "W505"]
# Allow fix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = []
# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[lint.per-file-ignores]
"__init__.py" = ["E402", "F401"]
"test_*.py" = ["E501"]
[lint.isort]
combine-as-imports = true
detect-same-package = true
force-wrap-aliases = true
known-first-party = ["app"]
known-third-party = ["twisted", "watchdog"]
lines-after-imports = 2
lines-between-types = 1
relative-imports-order = "closest-to-furthest"
section-order = ["future", "standard-library", "third-party", "first-party", "local-folder"]
required-imports = ["from __future__ import annotations"]
extra-standard-library = ["typing"]
[lint.flake8-bugbear]
extend-immutable-calls = [
"chr",
"divmod",
"enumerate",
"frozenset",
"getattr",
"hasattr",
"hash",
"id",
"isinstance",
"issubclass",
"iter",
"len",
"max",
"min",
"next",
"oct",
"open",
"ord",
"pow",
"range",
"repr",
"reversed",
"round",
"slice",
"sorted",
"sum",
"super",
"type",
"vars",
"zip",
]
[lint.mccabe]
# Unlike Flake8, default to a complexity level of 10.
max-complexity = 10
[lint.pydocstyle]
convention = "google"
[lint.pycodestyle]
max-doc-length = 88
[lint.pylint]
max-args = 8
max-branches = 12
max-returns = 6
max-statements = 50
[lint.pyupgrade]
# Preserve types, even if a file imports `from __future__ import annotations`.
keep-runtime-typing = true