{% for header in license_headers %}
# {{ header }}
{% endfor %}

src = [
    "src",
    "tests",
]

[lint]
select = [
    "A",    # flake8-builtins
    "ARG",  # unused-arguments
    "B",    # flake8-bugbear
    "DTZ",  # flake8-datetimez
    "E",    # pycodestyle errors
    "F",    # pyflakes
    "PERF", # Perflint
    "PL",   # pylint
    "RUF",  # Ruff's own rules
    "SIM",  # flake8-simplify
    "W",    # pycodestyle warnings
]
ignore = [
    # function-call-in-default-argument
    # There's nothing wrong with calling a function that returns an immutable
    # object
    "B008",
    # `zip()` without an explicit `strict=` parameter.
    # `zip()` only has that parameter in py310+
    "B905",
    # Allow overwriting loop variable
    "PLW2901",
    # Magic value used in comparison
    # This is a good rule, but the checker is a bit overzealous.
    "PLR2004",
    # Too many arguments to function call
    "PLR0913",
]

[lint.extend-per-file-ignores]
"tests/*" = ["ARG"]
{#
# vim: ft=toml.jinja2:
#}
