git-changelog
Automatic Changelog generator using Jinja2 templates.
Decision gist · record as of 2026-08-14
Yes, if you use git and want to automate changelog generation. The package is actively maintained, has low install friction, supports modern Python versions, carries no security vulnerabilities, and offers both a simple CLI and a programmatic API. The permissive ISC license poses no restrictions. It is suitable for projects that follow or can adopt a recognized commit convention; teams with highly custom changelog needs should verify that Jinja2 templating meets their requirements.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later and a git repository to parse.
- Low install friction with six straightforward runtime dependencies.
- Actively maintained with a release within the past week and recent commits; marked as Beta in development status but supports current Python versions (3.10–3.14).
License · maintenance · safety
ISC (permissive) — ISC permissive license allows commercial and private use with minimal restrictions; suitable for most projects without licensing concerns.
last release 2026-08-07 (7 days) · last repo commit 2026-08-07 · 185 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 109,805 downloads/mo, #12,497 on PyPI
Alternatives
Verify before relying
pip install git-changelog
In your repository:
git-changelog
Or programmatically:
from git_changelog.cli import main
main()- Whether the package can handle very large git histories without performance degradation.
- How well the built-in templates match the Keep a Changelog and Angular specifications in practice.
- Whether custom Jinja2 templates are easy to write and debug for non-standard changelog formats.
What it is and what it does
git-changelog is a command-line tool and Python library that reads your git commit history and generates a formatted changelog using Jinja2 templates. It parses commits according to recognized conventions (Angular, Conventional Commit, or basic styles), extracts metadata like issue and PR references, and understands semantic versioning and PEP 440 version schemes to suggest the next version number. The tool is agnostic to git hosting platforms but includes built-in reference parsing for GitHub, GitLab, and Bitbucket.
You run it as a CLI tool in your repository to output a changelog, or import it as a library to integrate changelog generation into your build pipeline. The Jinja2 template system gives you full control over the output format—the package ships with templates for Keep a Changelog and Angular conventions, but you can write custom templates to match your project's style. It also supports Git trailers in commit messages and allows template context injection for further customization.
Use it for
- Generate a changelog automatically as part of your release workflow, parsing conventional commits to extract features, fixes, and breaking changes.
- Maintain a Keep a Changelog-formatted file by running git-changelog in CI/CD and committing the output before each release.
- Create a custom changelog format by writing a Jinja2 template that extracts specific commit metadata and renders it in your project's preferred style.
- Guess the next semantic version based on commit history (e.g., patch vs. minor vs. major bump) to automate version bumping.
- Parse issue and PR references from commit messages in a provider-agnostic way using Git trailers, then link them in the generated changelog.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you use git and want to automate changelog generation.
The package is actively maintained, has low install friction, supports modern Python versions, carries no security vulnerabilities, and offers both a simple CLI and a programmatic API. The permissive ISC license poses no restrictions. It is suitable for projects that follow or can adopt a recognized commit convention; teams with highly custom changelog needs should verify that Jinja2 templating meets their requirements.
Install
git-changelog on PyPI
Before you install
Low install friction with six straightforward runtime dependencies. Actively maintained with a release within the past week and recent commits; marked as Beta in development status but supports current Python versions (3.10–3.14).
Requires Python 3.10 or later and a git repository to parse.
License in practice
ISC permissive license allows commercial and private use with minimal restrictions; suitable for most projects without licensing concerns.
Quickstart
pip install git-changelog
In your repository:
git-changelog
Or programmatically:
from git_changelog.cli import main
main()
Verify before relying
- Whether the package can handle very large git histories without performance degradation.
- How well the built-in templates match the Keep a Changelog and Angular specifications in practice.
- Whether custom Jinja2 templates are easy to write and debug for non-standard changelog formats.
Package facts
| License | ISC permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesJinja2packagingplatformdirssemvertomlityping-extensions |
| Maintenance | Actively maintained 7 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 109,805 / month, #12,497 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: DocumentationTopic :: Software DevelopmentTopic :: Software Development :: DocumentationTopic :: UtilitiesTyping :: Typed |
Evidence: git_changelog-2.9.6-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “automatic changelog generator”
- git-changelogGenerates changelogs automatically from git commit history using…
- antsibull-changelogantsibull-changelog is a CLI tool that generates structured…
- towncrierTowncrier generates changelogs from individual news fragment files…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also git-cliff · make · gitchangelog · commitizen · Jinja2 · ruamel.yaml.jinja2 · git-me-the-url · envtpl · cookiecutter · django-jinja