[tool.black] exclude = 'api_pb2.py|api_options_pb2.py' target-version = ['py39'] [tool.pylint.MASTER] reports = 'no' ignore = [ "api_pb2.py", "api_options_pb2.py" ] disable = [ "missing-docstring", "too-few-public-methods", "too-many-instance-attributes", "wildcard-import", "invalid-name", "too-many-arguments", "line-too-long", "protected-access", "unused-wildcard-import", "import-outside-toplevel", "raise-missing-from", "bad-mcs-classmethod-argument", "duplicate-code", "too-many-lines", ] [tool.ruff] required-version = ">=0.5.0" exclude = [ "aioesphomeapi/api_pb2.py", "aioesphomeapi/api_options_pb2.py", ] [tool.ruff.lint] select = [ "E", # pycodestyle "F", # pyflakes/autoflake "I", # isort "PL", # pylint "UP", # pyupgrade ] ignore = [ "E501", # line too long "E721", # We want type() check for protobuf messages "PLR0911", # Too many return statements ({returns} > {max_returns}) "PLR0912", # Too many branches ({branches} > {max_branches}) "PLR0913", # Too many arguments to function call ({c_args} > {max_args}) "PLR0915", # Too many statements ({statements} > {max_statements}) "PLR2004", # Magic value used in comparison, consider replacing {value} with a constant variable "PLW2901", # Outer {outer_kind} variable {name} overwritten by inner {inner_kind} target ] [tool.ruff.lint.isort] force-sort-within-sections = true known-first-party = [ "aioesphomeapi", ] combine-as-imports = true split-on-trailing-comma = false [build-system] requires = ['setuptools>=65.4.1', 'wheel', 'Cython>=3.0.2']