1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
[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",
]
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*"]
[tool.coverage.run]
branch = false
omit = [
"pdoc/markdown2/*",
]
# 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.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}
"""
|