content: [project]
  name = "treeherder"
  version = "1.0.0"
  description = "Defaut package, used for development or readthedocs"
  
  [project.optional-dependencies]
  docs = [
    "mkdocs==1.6.1",
    "mkdocs-material==9.6.21",
    "mdx_truly_sane_lists==1.3",
  ]
  
  [tool.setuptools]
  packages = ["treeherder"]
  
  [build-system]
  requires = ["setuptools", "wheel"]
  # A list of all of the optional dependencies, some of which are included in the
  # below `extras`. They can be opted into by apps.
  mkdocs = { version = "==1.6.0", optional = true }
  mkdocs-material = { version = "==9.5.24", optional = true }
  mdx_truly_sane_lists = { version = "1.3", optional = true }
  
  [tool.ruff]
  # Same as Black.
  line-length = 100
  
  # Assume Python 3.10
  target-version = "py310"
  
  # In addition to the standard set of exclusions, omit all tests, plus a specific file.
  extend-exclude = ["*/.*/",".*/","__pycache__","node_modules"]
  
  # Also lint/format pyi files
  extend-include = ["*.pyi"]
  
  [tool.ruff.lint]
  select = [
    # pycodestyle
    "E",
    "W",
    # pyflakes
    "F",
    # pyupgrade
    "UP",
    # pep8-naming
    "N"
  ]
  
  ignore = [
    # E501: line too long
    "E501",
  ]
  
  [tool.ruff.lint.per-file-ignores]
  # Ignore `module-import-not-at-top-of-file` rule of `pycodestyle`
  "treeherder/model/models.py" = ["E402"]
  