content: [build-system]
  requires = ["pdm-backend"]
  build-backend = "pdm.backend"
  
  [project]
  name = "griffe"
  description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API."
  authors = [{name = "Timothée Mazzucotelli", email = "dev@pawamoy.fr"}]
  license = "ISC"
  license-files = ["LICENSE"]
  readme = "README.md"
  requires-python = ">=3.9"
  keywords = ["api", "signature", "breaking-changes", "static-analysis", "dynamic-analysis"]
  dynamic = ["version"]
  classifiers = [
      "Development Status :: 5 - Production/Stable",
      "Intended Audience :: Developers",
      "Programming Language :: Python",
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3 :: Only",
      # YORE: EOL 3.9: Remove line.
      "Programming Language :: Python :: 3.9",
      # YORE: EOL 3.10: Remove line.
      "Programming Language :: Python :: 3.10",
      # YORE: EOL 3.11: Remove line.
      "Programming Language :: Python :: 3.11",
      # YORE: EOL 3.12: Remove line.
      "Programming Language :: Python :: 3.12",
      # YORE: EOL 3.13: Remove line.
      "Programming Language :: Python :: 3.13",
      # YORE: EOL 3.14: Remove line.
      "Programming Language :: Python :: 3.14",
      "Topic :: Documentation",
      "Topic :: Software Development",
      "Topic :: Software Development :: Documentation",
      "Topic :: Utilities",
      "Typing :: Typed",
  ]
  dependencies = [
      "colorama>=0.4",
  ]
  
  [project.optional-dependencies]
  pypi = [
      "pip>=24.0",
      "platformdirs>=4.2",
      "wheel>=0.42",
  ]
  
  [project.urls]
  Homepage = "https://mkdocstrings.github.io/griffe"
  Documentation = "https://mkdocstrings.github.io/griffe"
  Changelog = "https://mkdocstrings.github.io/griffe/changelog"
  Repository = "https://github.com/mkdocstrings/griffe"
  Issues = "https://github.com/mkdocstrings/griffe/issues"
  Discussions = "https://github.com/mkdocstrings/griffe/discussions"
  Gitter = "https://gitter.im/mkdocstrings/griffe"
  Funding = "https://github.com/sponsors/pawamoy"
  
  [project.scripts]
  griffe = "griffe:main"
  
  [tool.pdm.version]
  source = "call"
  getter = "scripts.get_version:get_version"
  
  [tool.pdm.build]
  # Include as much as possible in the source distribution, to help redistributors.
  excludes = ["**/.pytest_cache", "**/.mypy_cache"]
  source-includes = [
      "config",
      "docs",
      "scripts",
      "share",
      "tests",
      "duties.py",
      "mkdocs.yml",
      "*.md",
      "LICENSE",
  ]
  
  [tool.pdm.build.wheel-data]
  # Manual pages can be included in the wheel.
  # Depending on the installation tool, they will be accessible to users.
  # pipx supports it, uv does not yet, see https://github.com/astral-sh/uv/issues/4731.
  data = [
      {path = "share/**/*", relative-to = "."},
  ]
  
  [dependency-groups]
  maintain = [
      "build>=1.2",
      "git-changelog>=2.5",
      "twine>=5.1",
      "yore>=0.3.3",
  ]
  ci = [
      "duty>=1.6",
      "griffe-inherited-docstrings>=1.1.2",
      "jsonschema>=4.17",
      "pysource-codegen>=0.7",
      "pysource-minimize>=0.10",
      "pytest>=8.2",
      "pytest-cov>=5.0",
      "pytest-randomly>=3.15",
      "pytest-xdist>=3.6",
      "mypy>=1.10",
      "ruff>=0.4",
      "types-markdown>=3.6",
      "types-pyyaml>=6.0",
  ]
   docs = [
      "code2flow>=2.5",
      "griffe-inherited-docstrings>=1.1.2",
      "markdown-callouts>=0.4",
      "markdown-exec[ansi]>=1.8",
      "mkdocs>=1.6",
      "mkdocs-coverage>=1.0",
      "mkdocs-gen-files>=0.5",
      "mkdocs-git-revision-date-localized-plugin>=1.2",
      "mkdocs-llmstxt>=0.2",
      "mkdocs-material>=9.5",
      "mkdocs-minify-plugin>=0.8",
      "mkdocs-section-index>=0.3",
      "mkdocs-redirects>=1.2",
      "mkdocstrings[python]>=0.29",
      "pydeps>=1.12",
      # YORE: EOL 3.10: Remove line.
      "tomli>=2.0; python_version < '3.11'",
  ]
  
  [tool.uv]
  default-groups = ["maintain", "ci", "docs"]
  