# Настройки инструментов качества (ruff, mypy). Зависимости — в requirements*.txt, pytest (маркеры, env) — в pytest.ini. [tool.ruff] line-length = 120 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "PL"] [tool.ruff.lint.isort] known-first-party = ["src"] [tool.mypy] python_version = "3.11" strict = false check_untyped_defs = true plugins = ["pydantic.mypy"] mypy_path = "." explicit_package_bases = true # Сторонние пакеты без типов (или недоступные вне банка) [[tool.mypy.overrides]] module = ["nkeys.*", "nats.*"] ignore_missing_imports = true # miniopy_async: пакет типизирован с ошибкой (Minio не виден mypy при реэкспорте) — типы не подтягиваем, Minio = Any [[tool.mypy.overrides]] module = ["miniopy_async", "miniopy_async.*"] follow_imports = "skip" ignore_missing_imports = true # Библиотеки чтения Excel и YAML (словари `rules/*.yaml`): без типов в поставке [[tool.mypy.overrides]] module = ["openpyxl", "openpyxl.*", "xlrd", "xlrd.*", "pyxlsb", "pyxlsb.*", "yaml", "yaml.*"] ignore_missing_imports = true # Строгая типизация парсера (чистые функции над книгой Excel) [[tool.mypy.overrides]] module = ["src.parser", "src.parser.*"] disallow_untyped_defs = true