content: [tool.poetry]
  name = "aiocomfoconnect"
  version = "0.1.15"
  description = "aiocomfoconnect is an asyncio Python 3 library for communicating with a Zehnder ComfoAir Q350/450/600 ventilation system"
  authors = ["Michaël Arnauts <michael.arnauts@gmail.com>"]
  readme = "README.md"
  homepage = "https://github.com/michaelarnauts/aiocomfoconnect"
  
  [tool.poetry.dependencies]
  python = "^3.10"
  aiohttp = "^3.8.0"
  protobuf = "^6.31"
  
  [tool.poetry.group.dev.dependencies]
  grpcio-tools = "^1.73.0"
  dpkt = "^1.9.8"
  black = "^24.4.0"
  isort = "^5.10.1"
  pylint = "^3.2"
  pytest = "^8.2.0"
  
  [build-system]
  requires = ["poetry-core"]
  build-backend = "poetry.core.masonry.api"
  
  [tool.isort]
  profile = "black"
  
  [tool.black]
  target-version = ["py310"]
  line-length = 180
  
  [tool.pylint.MAIN]
  max-line-length = 180
  
  [tool.pylint."MESSAGES CONTROL"]
  # Reasons disabled:
  # format - handled by black
  # locally-disabled - it spams too much
  # duplicate-code - unavoidable
  # cyclic-import - doesn't test if both import on load
  # abstract-class-little-used - prevents from setting right foundation
  # unused-argument - generic callbacks and setup methods create a lot of warnings
  # too-many-* - are not enforced for the sake of readability
  # too-few-* - same as too-many-*
  # abstract-method - with intro of async there are always methods missing
  # inconsistent-return-statements - doesn't handle raise
  # too-many-ancestors - it's too strict.
  # wrong-import-order - isort guards this
  # consider-using-f-string - str.format sometimes more readable
  # ---
  # Enable once current issues are fixed:
  # consider-using-namedtuple-or-dataclass (Pylint CodeStyle extension)
  # consider-using-assignment-expr (Pylint CodeStyle extension)
  disable = [
      "format",
      "abstract-method",
      "cyclic-import",
      "duplicate-code",
      "inconsistent-return-statements",
      "locally-disabled",
      "not-context-manager",
      "too-few-public-methods",
      "too-many-ancestors",
      "too-many-arguments",
      "too-many-branches",
      "too-many-instance-attributes",
      "too-many-lines",
      "too-many-locals",
      "too-many-positional-arguments",
      "too-many-public-methods",
      "too-many-return-statements",
      "too-many-statements",
      "too-many-boolean-expressions",
      "unused-argument",
      "wrong-import-order",
  ]
  enable = [
      #"useless-suppression",  # temporarily every now and then to clean them up
      "use-symbolic-message-instead",
  ]
  