content: [tool.pytest.ini_options]
  markers = ["slow: marks tests as slow (deselect with '-m \"not slow\"')"]
  
  [tool.black]
  line-length = 119
  exclude = ["venv"]
  
  [tool.flake8]
  docstring-convention = "all"
  ignore = ["D107", "D212", "E501", "W503", "W605", "D203", "D100"]
  exclude = ["venv"]
  max-line-length = 119
  
  # radon
  radon-max-cc = 10
  
  [tool.isort]
  profile = "black"
  multi_line_output = "VERTICAL_HANGING_INDENT"
  force_grid_wrap = 2
  line_length = 119
  
  [tool.pylint."messages control"]
  disable = [
      "line-too-long",
      "trailing-whitespace",
      "missing-function-docstring",
      "consider-using-f-string",
      "import-error",
      "too-few-public-methods",
      "redefined-outer-name",
  ]
  
  [tool.ruff]
  # Enable flake8-bugbear (`B`) rules.
  select = ["E", "F", "B", "ERA"]
  
  # Never enforce `E501` (line length violations).
  ignore = ["E501", "F401"]
  
  # Avoid trying to fix flake8-bugbear (`B`) violations.
  unfixable = ["B"]
  line-length = 119
  
  # Ignore `E402` (import violations) in all `__init__.py` files, and in `path/to/file.py`.
  [tool.ruff.per-file-ignores]
  "__init__.py" = ["E402"]
  "path/to/file.py" = ["E402"]
  