# Tooling configuration only — runtime deps stay in requirements.txt (consumed by the Dockerfile). [tool.ruff] target-version = "py39" line-length = 120 src = ["src", "tests"] [tool.ruff.lint] # pycodestyle, pyflakes, import-sort, pyupgrade, bugbear, warnings. select = ["E", "F", "I", "UP", "B", "W"] [tool.ruff.lint.flake8-bugbear] # FastAPI's Path/File/Query/Depends/Body/Form are called in argument defaults by design. extend-immutable-calls = [ "fastapi.Path", "fastapi.File", "fastapi.Query", "fastapi.Depends", "fastapi.Body", "fastapi.Form", ] [tool.ruff.format] quote-style = "double" [tool.mypy] python_version = "3.9" # The ML stack (torch, transformers, PIL) ships no/partial type stubs; don't fail on their imports. ignore_missing_imports = true warn_unused_ignores = true files = ["src"] [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-q"