content: # The contents of this file is based on https://github.com/home-assistant/core/blob/dev/pyproject.toml
  
  target-version = "py310"
  
  lint.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
  ]
  
  lint.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
  ]
  
  [lint.flake8-pytest-style]
  fixture-parentheses = false
  
  [lint.pyupgrade]
  keep-runtime-typing = true
  
  [lint.mccabe]
  max-complexity = 25
  