-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathruff.toml
More file actions
200 lines (157 loc) · 10.9 KB
/
Copy pathruff.toml
File metadata and controls
200 lines (157 loc) · 10.9 KB
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# Список шаблонов файлов, которые следует исключить из форматирования и проверки.
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".mypy_cache",
".nox",
".pants.d",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
"__pypackages__",
"_build",
"buck-out",
"dist",
"node_modules",
"venv",
"Pipfile",
"Pipfile.lock",
]
# По умолчанию при запуске ruff включается функция исправления ошибок
# (переопределяется флагами командной строки --fix и --no-fix).
# Включает только автоматические исправления, если не указан --unsafe-fixes.
fix = true
# Список шаблонов файлов для включения в линтинг.
include = [
"*.py",
"*.toml",
"*.rs",
]
# Количество пробелов на уровень отступа (табуляции).
indent-width = 4
#Длина строки, которую следует использовать при нарушении правила длинных строк (например, E501)
# и при которой isort и средство форматирования предпочитают переносить строки.
line-length = 120
# Стиль форматирования сообщений о нарушениях:
# "full" (по умолчанию) (отображает исходный код),
# "concise", "grouped" (группировка сообщений по файлам),
# "json" (машиночитаемый),
# "junit" (машиночитаемый XML),
# "github" (аннотации GitHub Actions),
# "gitlab" (отчет о качестве кода в GitLab CI),
# "pylint" (текстовый формат Pylint)
# "azure" (команды ведения журнала в Azure Pipeline).
# output-format = "grouped"
# Следует ли автоматически исключать файлы, которые игнорируются .ignore, .gitignore, .git/info/exclude,
# а также глобальными gitignore файлами. Включено по умолчанию.
respect-gitignore = true
# Показывать ли перечисление всех исправленных нарушений lint (переопределяется --show-fixes флагом командной строки).
# show-fixes = true
# Каталоги, которые следует учитывать при выборе между импортом из первой и третьей стороны.
src = [
".",
"src",
"test",
]
# Минимальная версия Python, на которую нужно ориентироваться, например,
# при рассмотрении возможности автоматического обновления кода, такого как переписывание аннотаций типов.
# Ruff не будет предлагать изменения, использующие функции, недоступные в указанной версии.
# Тип: "py37" | "py38" | "py39" | "py310" | "py311" | "py312" | "py313" | "py314"
target-version = "py313"
# Настраивает способ форматирования кода в Ruff.
[format]
# Форматировать ли фрагменты кода в строках документации.
docstring-code-format = true
# Задайте длину строки, используемую при форматировании фрагментов кода в документации.
docstring-code-line-length = "dynamic"
# Использовать ли пробелы или табуляцию для отступов.
# Тип: "space" | "tab"
indent-style = "space"
# Настраивает предпочтительный символ кавычек для строк. Рекомендуемые варианты:
# * double (по умолчанию): Используйте двойные кавычки "
# * single: Используйте одинарные кавычки '
# Тип: "double" | "single" | "preserve"
quote-style = "single"
# Ruff использует существующие конечные запятые в качестве указания на то,
# что короткие строки следует оставлять отдельными.
# Если для этого параметра установлено значение true, волшебная конечная запятая игнорируется.
skip-magic-trailing-comma = false
# Настраивает проверку кода в Ruff.
[lint]
# Список кодов правил или префиксов, которые нужно игнорировать.
# Префиксы могут указывать на конкретные правила (например, F841), целые категории (например, F) или что-то среднее.
# Skip unused variable rules (`F841`).
# ignore = ["F841"]
# Список кодов правил или префиксов для включения.
# Префиксы могут указывать на конкретные правила (например, F841), целые категории (например, F) или что-то среднее.
# Значение по умолчанию: ["E4", "E7", "E9", "F"]
# On top of the defaults (`E4`, E7`, `E9`, and `F`), enable flake8-bugbear (`B`) and flake8-quotes (`Q`).
select = ["E4", "E7", "E9", "F", "B", "Q"]
# Параметры плагина flake8-quotes
[lint.flake8-quotes]
# Стиль цитирования, который следует использовать для строк документации (одинарный или двойной).
# Тип: "single" | "double"
docstring-quotes = "single"
# Какой стиль цитирования предпочтительнее для встроенных строк (одинарный или двойной)?.
# При использовании средства форматирования убедитесь, что для format.quote-style задан тот же предпочтительный стиль цитирования.
# Значение по умолчанию: "double"
# Тип: "single" | "double"
inline-quotes = "single"
# Параметры для плагина isort.
[lint.isort]
# Сортировка импорта с учётом регистра.
# Обратите внимание, что при включении параметр order-by-type будет иметь приоритет над этим параметром.
# Значение по умолчанию: false
case-sensitive = true
# Не сортируйте прямой импорт (например, import sys) перед импортом из модуля (например, from itertools import groupby). Вместо этого сортируйте импорт по модулю, независимо от стиля импорта.
# Значение по умолчанию: false
force-sort-within-sections = false
# Следует ли при сортировке помещать import from-импорты перед обычными импортами.
# Значение по умолчанию: false
from-first = false
# Количество пустых строк, которые нужно оставить после импорта. Используйте -1 для автоматического определения.
# Ruff оставляет не более одной пустой строки после импорта в файлах-заготовках (файлах с расширением .pyi)
# в соответствии с рекомендациями по стилю набора текста (источник).
# При использовании средства форматирования совместимы только значения -1, 1, и 2,
# поскольку оно требует наличия как минимум одной пустой и не более чем двух пустых строк после импорта.
# Значение по умолчанию: -1
lines-after-imports = 2
# Количество строк, которые нужно разместить между «прямым» и import from импортом.
# При использовании средства форматирования совместимы только значения 0 и 1,
# поскольку оно сохраняет до одной пустой строки после импорта во вложенных блоках.
# Значение по умолчанию: 0
lines-between-types = 1
# Параметры плагина mccabe .
[lint.mccabe]
# Максимальная сложность по Маккейбу, при превышении которой возникают ошибки C901 .
# Значение по умолчанию: 10
max-complexity = 15
# Параметры для плагина pylint.
[lint.pylint]
# Максимальное количество аргументов, допустимое для определения функции или метода (см. PLR0913).
# Значение по умолчанию: 5
# max-args = 10
# Максимальное количество логических выражений, допустимых в одном операторе if (см. PLR0916).
# Значение по умолчанию: 5
# max-bool-expr = 10
# Максимальное количество ветвей, допустимое для тела функции или метода (см. PLR0912).
# Значение по умолчанию: 12
# max-branches = 15
# Максимальное количество локальных переменных, допустимое для тела функции или метода (см. PLR0914).
# Значение по умолчанию: 15
# max-locals = 20
# Максимальное количество вложенных блоков, допустимое в теле функции или метода (см. PLR1702).
# Значение по умолчанию: 5
# max-nested-blocks = 10
# Максимальное количество общедоступных методов, разрешённых для класса (см. PLR0904).
# Значение по умолчанию: 20
# max-public-methods = 30
# Максимальное количество операторов в теле функции или метода (см. PLR0915).
# Значение по умолчанию: 50
# max-statements = 75