@@ -44,15 +44,15 @@ dev = [
4444 " pytest-django>=4.8.0" ,
4545
4646 " pre-commit>=3.5.0" ,
47- " ruff==0.4.1 " ,
47+ " ruff==0.8.0 " ,
4848 " pytest>=7.0.1" ,
4949 " mypy>=1.10.0" ,
5050 " pytest-cov>=5.0.0" ,
5151]
5252ci = [
5353 " pytest-django>=4.8.0" ,
5454
55- " ruff==0.4.1 " ,
55+ " ruff==0.8.0 " ,
5656 " pytest>=7.0.1" ,
5757 " mypy>=1.10.0" ,
5858 " pytest-cov>=5.0.0" ,
@@ -119,19 +119,23 @@ disable_error_code = [
119119
120120[tool .coverage .run ]
121121concurrency = [" multiprocessing" , " thread" ]
122- omit = [" */tests/*" ]
122+ omit = [" */tests/*" , " types.py " , " _sqlite3_adapters_and_converters.py " ] # Не проверять директории и(или) файлы
123123parallel = true
124+ branch = true # Включать в замер результаты вхождения в условия
124125source = [" src.capture_db_queries" ]
125126
126127[tool .coverage .report ]
127128fail_under = 80 # Тест упадёт если покрытие составит менее 80%
129+ skip_covered = true # Не включать в отчет информацию о файлах со 100% покрытием
130+ show_missing = true # Включать в отчет информацию о номерах не протестированных строк кода
131+ sort = " -Cover" # Сортировать отчет по уровню покрытия
128132
129133
130134# https://docs.astral.sh/ruff/settings/
131135# https://docs.astral.sh/ruff/configuration/#full-command-line-interface
132136# cmd: ruff format # Отформатирует все файлы в `.` текущем каталоге.
133137[tool .ruff ]
134- required-version = " <=0.5.7 "
138+ required-version = " <=0.8.0 "
135139target-version = " py312" # Версия python которую будет обслуживать ruff
136140line-length = 105 # Макс длина строки кода после которой будет выполнен автоперенос
137141indent-width = 4
@@ -186,6 +190,7 @@ extend-select = [
186190 " SIM" , # https://docs.astral.sh/ruff/rules/#flake8-simplify-sim
187191 " TID" , # https://docs.astral.sh/ruff/rules/#flake8-tidy-imports-tid
188192 " TCH" , # https://docs.astral.sh/ruff/rules/#flake8-type-checking-tch
193+ " TD" , # https://docs.astral.sh/ruff/rules/#flake8-todos-td
189194 " INT" , # https://docs.astral.sh/ruff/rules/#flake8-gettext-int
190195 " FLY" , # https://docs.astral.sh/ruff/rules/#flynt-fly
191196 " PERF" , # https://docs.astral.sh/ruff/rules/#perflint-perf
@@ -196,11 +201,10 @@ extend-select = [
196201]
197202ignore = [
198203 # https://docs.astral.sh/ruff/rules/#pyflakes-f
199- # "F401", # (не ругаться на неиспользуемые импорты)
200- # "F841", # (не ругаться на неиспользуемые переменные)
201204 " F403" , # (не ругаться на использование from ... import *)
202205 # https://docs.astral.sh/ruff/rules/#pyupgrade-up
203206 " UP031" , # (не ругаться на форматирование с помощью %s)
207+ " UP036" , # (не ругаться на использование sys.version_info если текущая версия не подпадает под условие)
204208 # https://docs.astral.sh/ruff/rules/#flake8-logging-format-g
205209 " G004" , # (не ругаться на использование f-строк для сообщения лога)
206210 # https://docs.astral.sh/ruff/rules/#ruff-specific-rules-ruf
@@ -212,6 +216,7 @@ ignore = [
212216 " PT009" , # (не ругаться на unittest ассерты)
213217 " PT027" , # (не ругаться на unittest ассерты)
214218 " PT001" , # (не ругаться на отсутствие круглых скобок у декоратора fixture)
219+ " PT004" , # (не ругаться на написание фикстур которые ничего не возвращают без префикса "_")
215220 # https://docs.astral.sh/ruff/rules/#flake8-implicit-str-concat-isc
216221 " ISC001" , # (конфликт с `COM812`)
217222 # https://docs.astral.sh/ruff/rules/#flake8-commas-com
@@ -226,11 +231,16 @@ ignore = [
226231 " RET503" , # (не ругаться на отсутствие return None в конце функций)
227232 # https://docs.astral.sh/ruff/rules/#flake8-blind-except-ble
228233 " BLE001" , # (не ругаться на обработку обычного Exception)
229- # https://docs.astral.sh/ruff/rules/#flake8-django-dj #! (ВРЕМЕННО)
234+ # https://docs.astral.sh/ruff/rules/#flake8-django-dj
235+ # https://docs.djangoproject.com/en/4.2/ref/models/fields/#null
236+ # https://sentry.io/answers/django-difference-between-null-and-blank/
237+ # https://www.django-rest-framework.org/api-guide/fields/#charfield
230238 " DJ001" , # (не ругаться на использование null в моделях для текстовых полей)
231239 # https://docs.astral.sh/ruff/rules/#flake8-comprehensions-c4
232240 # {} VS dict() # https://switowski.com/blog/dict-function-vs-literal-syntax/
233241 " C408" , # (не ругаться на использование классов коллекций вместо их литералов)
242+ " TD001" , # (не ругаться на использование FIXME и XXX)
243+ " TD003" , # (не ругаться на отсутствие ссылки на issues)
234244]
235245# Не давать исправлять эти ошибки в тултипе, и в том числе автоматически при линте через команду
236246unfixable = [
0 commit comments