[project] requires-python = ">=3.13" [tool.pytest.ini_options] asyncio_mode = "auto" [tool.ruff] target-version = "py313" line-length = 100 [tool.ruff.lint] select = [ "E", # pycodestyle errors "F", # pyflakes "W", # pycodestyle warnings "I", # isort "UP", # pyupgrade "B", # flake8-bugbear "C4", # flake8-comprehensions "SIM", # flake8-simplify "RUF", # ruff-specific "ASYNC", # flake8-async "LOG", # flake8-logging "G", # flake8-logging-format "PIE", # flake8-pie "RET", # flake8-return "PERF", # perflint "N", # pep8-naming ] ignore = [ "N818", # exception name doesn't need an Error suffix in this codebase ] [tool.ruff.lint.isort] known-first-party = ["custom_components"] [tool.ty.environment] python-version = "3.13"