target-version = "py312"
fix = false
line-length = 120

[lint]
select = [
    "E",        # pycodestyle errors
    "W",        # pycodestyle warnings
    "F",        # pyflakes
    "I",        # isort
    "B",        # flake8-bugbear
    "C4",       # flake8-comprehensions
    "UP",       # pyupgrade
    "ANN",      # flake8-annotations
    "T20",      # flake8-print
]

ignore = [
    "E501",     # line-too-long
    "ANN401",   # any-type
    "T201",     # print-found
    "B008",     # do-not-perform-function-calls-in-argument-defaults
    "B006",     # do-not-use-mutable-defaults
    "B011",     # Do not `assert False`
]

[lint.per-file-ignores]
"__init__.py" = ["F401"]
"tests/**/*.py" = ["ANN", "S101"]
