[tool.ruff]
exclude = [
    ".git",
    "__pycache__",
    "dist",
    "build",
    "test.py",
    "tests",
    "venv",
    "env",
    ".venv",
    ".env",
]
src = ["../InvenTree"]
# line-length = 120

[tool.ruff.extend-per-file-ignores]
"__init__.py" = ["D104"]

[tool.ruff.lint]
select = ["A", "B", "C4", "D", "DJ", "N", "S"]
# Things that should be enabled in the future:
# - LOG
# - I

ignore = [
    "N999",
    # - N802 - function name should be lowercase
	"N802",
	# - N806 - variable should be lowercase
	"N806",
	# - N812 - lowercase imported as non-lowercase
	"N812",
    # - D202 - No blank lines allowed after function docstring
    "D202",
    # - D415 - First line should end with a period, question mark, or exclamation point
    "D415",
    # - S101 - Use of `assert` detected
    "S101"
]

[tool.ruff.lint.pydocstyle]
convention = "google"

[tool.ruff.lint.isort]
split-on-trailing-comma = false
combine-as-imports = false
section-order = [
    "future",
    "standard-library",
    "django",
    "third-party",
    "first-party",
    "local-folder",
]
known-first-party = ["src", "plugin", "InvenTree", "common"]

[tool.ruff.lint.isort.sections]
"django" = ["django"]

[tool.ruff.format]
quote-style = "preserve"
indent-style = "space"
skip-magic-trailing-comma = true
line-ending = "auto"

[tool.coverage.run]
source = "InvenTree"

[tool.djlint]
ignore = "D018,H006,H008,H020,H021,H023,H025,H030,H031,T002"