[tool.pytest.ini_options]
addopts = [
  "--color=yes",
  "--durations=0",
  "--strict-markers",
  "--doctest-modules",
]
filterwarnings = [
  "ignore::DeprecationWarning",
  "ignore::UserWarning",
]
log_cli = "True"
markers = [
  "slow: slow tests",
]
minversion = "6.0"
testpaths = "tests/"

[tool.coverage.report]
exclude_lines = [
    "pragma: nocover",
    "raise NotImplementedError",
    "raise NotImplementedError()",
    "if __name__ == .__main__.:",
]

[tool.ruff]
line-length = 99

[tool.ruff.lint]
ignore = ["C901", "E501", "E741", "W605", "C408", "E402"]
select = ["C", "E", "F", "I", "W"]

[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["E402", "F401", "F403", "F811"]

[tool.ruff.lint.isort]
known-first-party = ["src"]
known-third-party = ["torch", "transformers", "wandb"]
