content: [project]
  name = "pdoc"
  description = "API Documentation for Python Projects"
  readme = "README.md"
  requires-python = ">=3.9"
  license = { text="MIT-0" }
  authors = [{name = "Maximilian Hils", email = "pdoc@maximilianhils.com"}]
  dynamic = ["version"]
  
  dependencies = [
      "Jinja2 >= 2.11.0",
      "pygments >= 2.12.0",
      "MarkupSafe >= 1.1.1",
      "markdown2>=2.5.4",
  ]
  
  classifiers = [
      "Topic :: Documentation",
      "Topic :: Software Development :: Documentation",
      "Topic :: Utilities",
      "License :: Public Domain",
      "Development Status :: 5 - Production/Stable",
      "Environment :: Console",
      "Intended Audience :: Developers",
      "Operating System :: OS Independent",
      "Programming Language :: Python :: 3.9",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Typing :: Typed",
  ]
  
  [project.urls]
  Homepage = "https://pdoc.dev"
  Source = "https://github.com/mitmproxy/pdoc/"
  Documentation = "https://pdoc.dev/docs/pdoc.html"
  Issues = "https://github.com/mitmproxy/pdoc/issues"
  
  [project.scripts]
  pdoc = "pdoc.__main__:cli"
  
  [tool.uv]
  dev-dependencies = [
      "tox>=4.21.2",
      "tox-uv>=1.13.0",
      "ruff>=0.6.9",
      "mypy>=1.11.2",
      "types-pygments>=2.18.0.20240506",
      "pytest>=8.3.3",
      "pytest-cov>=5.0.0",
      "pytest-timeout>=2.3.1",
      "hypothesis>=6.113.0",
      "pdoc-pyo3-sample-library>=1.0.11",
  ]
  
  [build-system]
  requires = ["setuptools"]
  build-backend = "setuptools.build_meta"
  
  [tool.setuptools.dynamic]
  version = {attr = "pdoc.__version__"}
  
  [tool.setuptools.packages.find]
  include = ["pdoc*"]
  
  # continue exclude: https://github.com/nedbat/coveragepy/issues/198
  [tool.coverage.report]
  show_missing = true
  exclude_lines = [
      "pragma: no cover",
      "@overload",
      "if TYPE_CHECKING:",
      "pass",
      "continue",
  ]
  
  [tool.pytest.ini_options]
  testpaths = "test"
  addopts = "-p no:xdist"
  timeout = 120
  markers = [
      "slow: marks tests as slow.",
  ]
  
  [[tool.mypy.overrides]]
  module = "pytest.*"
  ignore_missing_imports = true
  
  [[tool.mypy.overrides]]
  module = "demopackage2"
  ignore_missing_imports = true
  
  [[tool.mypy.overrides]]
  module = "markdown2"
  ignore_missing_imports = true
  
  [tool.ruff]
  extend-exclude = ["test/testdata/demo.py"]
  
  [tool.ruff.lint]
  select = ["E", "F", "I"]
  ignore = ["E501"]
  isort = { force-single-line = true, force-sort-within-sections = true }
  
  [tool.tox]
  legacy_tox_ini = """
  [tox]
  envlist = lint, py
  toxworkdir = {env:TOX_WORK_DIR:.tox}
  runner = uv-venv-lock-runner
  
  [testenv]
  commands =
      pdoc --version
      pytest --cov=pdoc --cov-report term-missing {posargs:-m "not slow"}
  
  [testenv:old-dependencies]
  uv_resolution = lowest
  
  [testenv:lint]
  commands =
      ruff check . {posargs}
      mypy pdoc test {posargs}
  """
  