[tool.ruff]
target-version = "py313"
line-length = 120

[tool.ruff.lint]
select = ["E", "W", "F", "I", "B", "C4", "UP", "DJ", "SIM"]

[tool.ruff.lint.per-file-ignores]
"jobs/models.py" = ["DJ001"]
"jobs/migrations/*.py" = ["E501"]
"jobs/tests/*.py" = ["DJ001"]

[tool.coverage.run]
branch = true
source = ["config", "jobs"]
omit = [
    "config/asgi.py",
    "config/wsgi.py",
    "jobs/management/*",
    "*/migrations/*",
    "*/tests/*",
    "manage.py",
]

[tool.coverage.report]
show_missing = true
skip_covered = true
fail_under = 60
exclude_lines = [
    "pragma: no cover",
    "if __name__ == .__main__.:",
    "raise NotImplementedError",
]
