content: # The contents of this file is based on https://github.com/home-assistant/core/blob/dev/pyproject.toml
  
  target-version = "py311"
  
  select = [
      "B007", # Loop control variable {name} not used within loop body
      "B014", # Exception handler with duplicate exception
      "C",  # complexity
      "D",  # docstrings
      "E",  # pycodestyle
      "F",  # pyflakes/autoflake
      "ICN001", # import concentions; {name} should be imported as {asname}
      "PGH004",  # Use specific rule codes when using noqa
      "PLC0414", # Useless import alias. Import alias does not rename original package.
      "SIM105", # Use contextlib.suppress({exception}) instead of try-except-pass
      "SIM117", # Merge with-statements that use the same scope
      "SIM118", # Use {key} in {dict} instead of {key} in {dict}.keys()
      "SIM201", # Use {left} != {right} instead of not {left} == {right}
      "SIM212", # Use {a} if {a} else {b} instead of {b} if not {a} else {a}
      "SIM300", # Yoda conditions. Use 'age == 42' instead of '42 == age'.
      "SIM401", # Use get from dict with default instead of an if block
      "T20",  # flake8-print
      "TRY004", # Prefer TypeError exception for invalid type
      "RUF006", # Store a reference to the return value of asyncio.create_task
      "UP",  # pyupgrade
      "W",  # pycodestyle
  ]
  
  ignore = [
      "D202",  # No blank lines allowed after function docstring
      "D203",  # 1 blank line required before class docstring
      "D213",  # Multi-line docstring summary should start at the second line
      "D404",  # First word of the docstring should not be This
      "D406",  # Section name should end with a newline
      "D407",  # Section name underlining
      "D411",  # Missing blank line before section
      "E501",  # line too long
      "E731",  # do not assign a lambda expression, use a def
      "E722",  # do not use bare `except`
  ]
  
  [flake8-pytest-style]
  fixture-parentheses = false
  
  [pyupgrade]
  keep-runtime-typing = true
  
  [mccabe]
  max-complexity = 25