/ pyproject.toml
pyproject.toml
1 [build-system] 2 requires = ["pdm-backend"] 3 build-backend = "pdm.backend" 4 5 [project] 6 name = "git-changelog" 7 description = "Automatic Changelog generator using Jinja2 templates." 8 authors = [{name = "Timothée Mazzucotelli", email = "dev@pawamoy.fr"}] 9 license = {text = "ISC"} 10 readme = "README.md" 11 requires-python = ">=3.9" 12 keywords = [ 13 "git", 14 "changelog", 15 "changelog-generator", 16 "commit-style", 17 "commit-convention", 18 ] 19 dynamic = ["version"] 20 classifiers = [ 21 "Development Status :: 4 - Beta", 22 "Intended Audience :: Developers", 23 "Programming Language :: Python", 24 "Programming Language :: Python :: 3", 25 "Programming Language :: Python :: 3 :: Only", 26 "Programming Language :: Python :: 3.9", 27 "Programming Language :: Python :: 3.10", 28 "Programming Language :: Python :: 3.11", 29 "Programming Language :: Python :: 3.12", 30 "Programming Language :: Python :: 3.13", 31 "Programming Language :: Python :: 3.14", 32 "Topic :: Documentation", 33 "Topic :: Software Development", 34 "Topic :: Software Development :: Documentation", 35 "Topic :: Utilities", 36 "Typing :: Typed", 37 ] 38 dependencies = [ 39 "appdirs>=1.4", 40 "Jinja2>=2.10", 41 "packaging>=24.0", 42 "semver>=2.13", 43 "tomli>=2.0; python_version < '3.11'", 44 "typing-extensions>=4.9; python_version < '3.13'", 45 ] 46 47 [project.urls] 48 Homepage = "https://pawamoy.github.io/git-changelog" 49 Documentation = "https://pawamoy.github.io/git-changelog" 50 Changelog = "https://pawamoy.github.io/git-changelog/changelog" 51 Repository = "https://github.com/pawamoy/git-changelog" 52 Issues = "https://github.com/pawamoy/git-changelog/issues" 53 Discussions = "https://github.com/pawamoy/git-changelog/discussions" 54 Gitter = "https://gitter.im/git-changelog/community" 55 Funding = "https://github.com/sponsors/pawamoy" 56 57 [project.scripts] 58 git-changelog = "git_changelog.cli:main" 59 60 [tool.pdm] 61 version = {source = "scm"} 62 63 [tool.pdm.build] 64 package-dir = "src" 65 editable-backend = "editables" 66 67 # Include as much as possible in the source distribution, to help redistributors. 68 excludes = ["**/.pytest_cache"] 69 source-includes = [ 70 "config", 71 "docs", 72 "scripts", 73 "share", 74 "tests", 75 "duties.py", 76 "mkdocs.yml", 77 "*.md", 78 "LICENSE", 79 ] 80 81 [tool.pdm.build.wheel-data] 82 # Manual pages can be included in the wheel. 83 # Depending on the installation tool, they will be accessible to users. 84 # pipx supports it, uv does not yet, see https://github.com/astral-sh/uv/issues/4731. 85 data = [ 86 {path = "share/**/*", relative-to = "."}, 87 ] 88 89 [dependency-groups] 90 dev = [ 91 # dev 92 "editables>=0.5", 93 94 # maintenance 95 "build>=1.2", 96 "git-changelog>=2.5", 97 "twine>=5.1", 98 99 # ci 100 "duty>=1.4", 101 "ruff>=0.4", 102 "pytest>=8.2", 103 "pytest-cov>=5.0", 104 "pytest-randomly>=3.15", 105 "pytest-xdist>=3.6", 106 "mypy>=1.10", 107 "types-markdown>=3.6", 108 "types-pyyaml>=6.0", 109 "tomli-w>=1.0", 110 111 # docs 112 "black>=24.4", 113 "markdown-callouts>=0.4", 114 "markdown-exec>=1.8", 115 "mkdocs>=1.6", 116 "mkdocs-coverage>=1.0", 117 "mkdocs-gen-files>=0.5", 118 "mkdocs-git-revision-date-localized-plugin>=1.2", 119 "mkdocs-literate-nav>=0.6", 120 "mkdocs-material>=9.5", 121 "mkdocs-minify-plugin>=0.8", 122 "mkdocstrings[python]>=0.25", 123 # YORE: EOL 3.10: Remove line. 124 "tomli>=2.0; python_version < '3.11'", 125 ]