Skip to content


ci documentation pypi version gitter

Automatic Changelog generator using Jinja2 templates. From git logs to change logs.



git-changelog requires Python 3.6 or above.

To install Python 3.6, I recommend using pyenv.
# install pyenv
git clone ~/.pyenv

# setup pyenv (you should also put these three lines in .bashrc or similar)
export PATH="${HOME}/.pyenv/bin:${PATH}"
export PYENV_ROOT="${HOME}/.pyenv"
eval "$(pyenv init -)"

# install Python 3.6
pyenv install 3.6.12

# make it available globally
pyenv global system 3.6.12


With pip:

python3.6 -m pip install git-changelog

With pipx:

python3.6 -m pip install --user pipx

pipx install --python python3.6 git-changelog

Usage (command-line)¤

usage: git-changelog [-h] [-o OUTPUT] [-s {angular,atom,basic}]
                     [-t {angular,keepachangelog}] [-v]

Command line tool for git-changelog Python package.

positional arguments:
  REPOSITORY            The repository path, relative or absolute.

optional arguments:
  -h, --help            Show this help message and exit.
  -o OUTPUT, --output OUTPUT
                        Output to given file. Default: stdout.
  -s {angular,atom,basic}, --style {angular,atom,basic}
                        The commit style to match against.
  -t {angular,keepachangelog}, --template {angular,keepachangelog}
                        The Jinja2 template to use. Prefix with "path:" to
                        specify the path to a directory containing a file
                        named "".
  -v, --version         Show the current version of the program and exit.