target-version = "py310"
fix = true
[lint]
select = [
"F", # Enable all pyflakes rules
"UP", # Enable all pyupgrade rules by default
"RUF100", # Ban unused `# noqa` comments
"PGH004", # Ban blanket `# noqa` comments (only ignore specific error codes)
]
ignore = [
# Unnecessary parentheses to functools.lru_cache: just leads to unnecessary churn.
# https://github.com/python/cpython/pull/104684#discussion_r1199653347.
"UP011",
# Use format specifiers instead of %-style formatting.
# Doesn't always make code more readable.
"UP031",
# Use f-strings instead of format specifiers.
# Doesn't always make code more readable.
"UP032",
# Use PEP-604 unions rather than tuples for isinstance() checks.
# Makes code slower and more verbose. https://github.com/astral-sh/ruff/issues/7871.
"UP038",
]
unfixable = [
# The autofixes sometimes do the wrong things for these;
# it's better to have to manually look at the code and see how it needs fixing
"F841", # Detects unused variables
"F601", # Detects dictionaries that have duplicate keys
"F602", # Also detects dictionaries that have duplicate keys
]