[lint] select = [ "F", # Pyflakes "E", # pycodestyle error "W", # pycodestyle warning "I", # isort "UP", # pyupgrade "ASYNC", # fflake8-async "S", # flake8-bandit "B", # flake8-bugbear "C4", # flake8-comprehensions "ISC", # flake8-implicit-str-concat "PIE", # flake8-pie "T20", # flake8-print "PYI", # flake8-pyi "PT", # flake8-pytest-style "Q", # flake8-quotes "RSE", # flake8-raise "RET", # flake8-return "SLOT", # flake8-slots "SIM", # flake8-simplify "TID", # flake8-tidy-imports "TCH", # flake8-type-checking "ARG", # flake8-unused-arguments "PTH", # flake8-use-pathlib "ERA", # eradicate "PL", # Pylint "TRY", # tryceratops "PERF", # Perflint # "FURB", # refurb "RUF", # Ruff-specific rules ] ignore = [ "E402", # module-import-not-at-top-of-file "E501", # line-too-long "B009", # get-attr-with-constant "B010", # set-attr-with-constant "PLC0414", # useless-import-alias "PLR0913", # too-many-arguments "TRY003", # raise-vanilla-args "RUF001", # ambiguous-unicode-character-string "RUF002", # ambiguous-unicode-character-docstring "RUF003", # ambiguous-unicode-character-comment # Avoid formatter conflicts, see https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules "W191", # tab-indentation "E111", # indentation-with-invalid-multiple "E114", # indentation-with-invalid-multiple-comment "E117", # over-indented "D206", # indent-with-spaces "D300", # triple-single-quotes "Q000", # bad-quotes-inline-string "Q001", # bad-quotes-multiline-string "Q002", # bad-quotes-docstring "Q003", # avoidable-escaped-quote "COM812", # missing-trailing-comma "COM819", # prohibited-trailing-comma "ISC001", # single-line-implicit-string-concatenation "ISC002", # multi-line-implicit-string-concatenation ] unfixable = [ "F401", # unused-import "F841", # unused-variable "ERA001", # commented-out-code ]