[tool.ruff] line-length = 120 select = ["E", "F", "B", "I", "N", "UP", "ANN", "S", "A", "COM", "C90", "T10", "EM", "EXE", "ISC", "ICN", "G", "INP", "PIE", "T20", "PT", "Q", "SIM", "TID", "INT", "ARG", "ERA", "PD", "PGH", "PL", "TRY", "RSE", "SLF", "RUF", "YTT"] ignore = ["ANN101", "ANN102", "ANN204", "ANN401", "B008", "E501", "INP001"] target-version = "py39" exclude = [ ".git", ".github", ".mypy_cache", ".pytest_cache", ".venv", "venv", "__pycache__", "dist", "migrations", ] [tool.ruff.per-file-ignores] "__init__.py" = ["F401"] "app/tests/*" = ["S101"] "app/models/*" = ["ANN"] "app/schemas/*" = ["ANN"] [tool.ruff.isort] known-third-party = ["fastapi", "pydantic", "sqlalchemy", "alembic", "jose", "passlib"] [tool.ruff.flake8-tidy-imports] ban-relative-imports = "all"