# Линтер/форматтер для всех Python-сервисов и скриптов. # Гоняется как гейт в CI (scripts/run_lint.sh) — падение блокирует деплой. target-version = "py311" line-length = 100 [lint] select = [ "E", # pycodestyle errors "F", # pyflakes (неиспользуемое, неопределённое) "W", # pycodestyle warnings "I", # isort (порядок импортов) "UP", # pyupgrade (устаревшие конструкции) "B", # flake8-bugbear (частые баги) "SIM", # flake8-simplify "C4", # flake8-comprehensions ] ignore = [ "E501", # длину строк держит форматтер, а не линтер; длинные RU-комментарии — норма "B008", # FastAPI-идиома: Depends()/Query() в значениях по умолчанию — не баг "UP042", # (str, Enum) → StrEnum меняет __str__ (сериализацию) — не трогаем намеренно ] [lint.per-file-ignores] # В тестах допускаем импорт-после-кода (importorskip) и «неотсортированные» блоки "**/tests/*" = ["E402"] "**/conftest.py" = ["E402"]