[build-system]
requires = [
    "pdm-backend",
]
build-backend = "pdm.backend"

[project]
name = "mkdocstrings-python"
description = "A Python handler for mkdocstrings."
authors = [
    { name = "Timothée Mazzucotelli", email = "dev@pawamoy.fr" },
]
license = "ISC"
license-files = [
    "LICENSE",
]
readme = "README.md"
requires-python = ">=3.9"
keywords = []
dynamic = []
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3 :: Only",
    "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",
    "Programming Language :: Python :: 3.14",
    "Topic :: Documentation",
    "Topic :: Software Development",
    "Topic :: Software Development :: Documentation",
    "Topic :: Utilities",
    "Typing :: Typed",
]
dependencies = [
    "mkdocstrings>=0.28.3",
    "mkdocs-autorefs>=1.4",
    "griffe>=1.6.2",
    "typing-extensions>=4.0; python_version < '3.11'",
]
version = "1.16.8"

[project.urls]
Homepage = "https://mkdocstrings.github.io/python"
Documentation = "https://mkdocstrings.github.io/python"
Changelog = "https://mkdocstrings.github.io/python/changelog"
Repository = "https://github.com/mkdocstrings/python"
Issues = "https://github.com/mkdocstrings/python/issues"
Discussions = "https://github.com/mkdocstrings/python/discussions"
Gitter = "https://gitter.im/mkdocstrings/python"
Funding = "https://github.com/sponsors/pawamoy"

[tool.pdm.version]
source = "call"
getter = "scripts.get_version:get_version"

[tool.pdm.build]
package-dir = "src"
includes = [
    "src/mkdocstrings_handlers",
]
editable-backend = "editables"
excludes = [
    "**/.pytest_cache",
]
source-includes = [
    "config",
    "docs",
    "scripts",
    "share",
    "tests",
    "duties.py",
    "mkdocs.yml",
    "*.md",
    "LICENSE",
]

[tool.pdm.build.wheel-data]
data = [
    { path = "share/**/*", relative-to = "." },
]

[tool.inline-snapshot]
storage-dir = "tests/snapshots"
format-command = "ruff format --config config/ruff.toml --stdin-filename {filename}"

[tool.uv]
default-groups = [
    "maintain",
    "ci",
    "docs",
]

[dependency-groups]
maintain = [
    "build>=1.2",
    "git-changelog>=2.5",
    "twine>=5.1",
    "yore>=0.3.3",
]
ci = [
    "blacK>=25.1",
    "duty>=1.6",
    "ruff>=0.4",
    "pytest>=8.2",
    "pytest-cov>=5.0",
    "pytest-randomly>=3.15",
    "pytest-xdist>=3.6",
    "beautifulsoup4>=4.12.3",
    "inline-snapshot>=0.18",
    "mypy>=1.10",
    "types-markdown>=3.6",
    "types-pyyaml>=6.0",
]
docs = [
    "markdown-callouts>=0.4",
    "markdown-exec>=1.8",
    "mkdocs>=1.6",
    "mkdocs-coverage>=1.0",
    "mkdocs-git-revision-date-localized-plugin>=1.2",
    "mkdocs-llmstxt>=0.1",
    "mkdocs-material>=9.5",
    "pydantic>=2.10",
    "mkdocs-minify-plugin>=0.8",
    "mkdocs-redirects>=1.2",
    "mkdocs-section-index>=0.3",
    "tomli>=2.0; python_version < '3.11'",
]
