Skip to main content

A quick script to generate changelogs from git commit messages

Project description

A quick script that will generate a changelog for any git repository using conventional style commit messages.



auto-changelog is up on PyPI, so you can install it with:

pip install auto-changelog

From Source

Otherwise, you can install from source by cloning the repository from Github:

git clone

And install the package:

python3 install


Calling The Program

The package is callable using the python -m shortcut:

python3 -m auto_changelog

Or alternatively, you can use the provided command:


Formatting Your Commit Messages

Of course, none of this is going to work if your commit messages are all over the place. The program currently only understands commit messages written following the Angular commit message conventions. This means that your commit messages should look something like this:

<type>(<scope>): <subject>

The type and subject fields are mandatory, everything else is optional.

These are some of the valid types that Angular use:

A new feature
A bug fix
Documentation only changes
Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
A code change that neither fixes a bug nor adds a feature
A code change that improves performance
Adding missing tests
Changes to the build process or auxiliary tools and libraries such as documentation generation


The types field should be lower case, although the parser itself is case insensitive.

For more detailed information, please check out Angular’s contributing guide.


Below are a couple screenshots showing the result of the auto-changelog command.

Result of "git log --oneline --graph --decorate" Generated change log

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for auto-changelog, version 0.1.7
Filename, size File type Python version Upload date Hashes
Filename, size auto_changelog-0.1.7-py3-none-any.whl (9.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size auto_changelog-0.1.7.tar.gz (8.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page