content: [tool.black]
  line-length = 100
  target-version = ["py310"]
  
  [tool.ruff]
  fix = true
  line-length = 100
  show-fixes = true
  target-version = "py310"
  lint.ignore = ["A003", "RUF012", "SLF001", "ISC001"]
  lint.select = [
      "A",
      "B",
      "BLE",
      "C40",
      "DJ",
      "E",
      "F",
      "G",
      "I",
      "ICN",
      "INP",
      "ISC",
      "N",
      "PIE",
      "PL",
      "PT",
      "PTH",
      "PYI",
      "Q",
      "RET",
      "RSE",
      "RUF",
      "S",
      "SIM",
      "SLF",
      "TID",
      "UP",
      "W",
      "YTT",
  ]
  
  [tool.ruff.lint.flake8-tidy-imports]
  ban-relative-imports = "all"
  
  [tool.ruff.lint.isort]
  combine-as-imports = true
  
  [tool.ruff.lint.per-file-ignores]
  "users/migrations/*.py" = ["E501", "N806"]
  "comicsdb/models/__init__.py" = ["I001"]
  "comicsdb/migrations/*.py" = ["E501", "N806"]
  "tests/*/*.py" = ["PLR2004", "PT004", "S101", "PLR0913"]
  
  [tool.coverage.html]
  directory = "test-results/coverage"
  
  [tool.coverage.run]
  source = ["comicsdb", "metron", "users"]
  branch = true
  concurrency = ["multiprocessing"]
  
  [tool.coverage.report]
  show_missing = true
  
  [tool.djlint]
  profile = "django"
  ignore = "H031"
  
  