[tool.ruff]
target-version = "py310"
line-length = 120
exclude = ["migrations", ".venv"]

[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "SIM"]
ignore = ["B008"]

[tool.ruff.lint.per-file-ignores]
"tests/**" = ["E501"]

[tool.mypy]
python_version = "3.10"
strict = true
ignore_missing_imports = true
exclude = ["migrations", ".venv"]

[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
testpaths = ["tests"]
addopts = "--tb=short -q"

[tool.coverage.run]
source = ["app"]
omit = ["*/migrations/*", "*/tests/*"]
concurrency = ["thread"]
core = "sysmon"

[tool.coverage.report]
skip_empty = true
