Skip to main content

changelogfromtags Git Logo pipeline status PEP8 Downloads

Changelog generation has never been so easy

Fully automated changelog generation - This package generates a changelog file based on git tags.

Since you don't have to fill your CHANGELOG.md manually now: just run the script, relax and take a cup of :coffee: before your next release! :tada:

What’s the point of a changelog?

To make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project.

Why should I care?

Because software tools are for people. "Changelogs make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project."

→ https://keepachangelog.com

Installation

Install the python package like:

$ pip install changelogfromtags

:warning: changelogfromtags have been successuflly tested with git version >= 2.20.0 It doesn't works with git version 2.11.0 and under...

Usage

Assuming you have a message for git tags:

$ git tag -l -n200
0.1.0           First release
    You retrieve the content of `git tag 0.1.0 -n200`
0.1.1           Deploy package changelogfromtags on pypi

Running with CLI:

usage: changelogfromtags [-h] [-p [PREFIX]] [-t [TITLE]] [--tag TAG]
                         [--verbose]

Generate a change log from git tags.

optional arguments:
  -h, --help            show this help message and exit
  -p [PREFIX], --prefix [PREFIX]
                        Append a charachter before each line of the message
                        tag if it is not present.
  -t [TITLE], --title [TITLE]
                        Title in the header
  --tag TAG             Display entry for the given tag
  --verbose, -v

Example

$ changelogfromtags
Changelog
=========

0.1.1 (06/01/2020)
------------------
Deploy package changelogfromtags on pypi

0.1.0 (06/01/2020)
------------------
First release
You retrieve the content of `git tag 0.1.0 -n200`

To add a prefix on entries if not present:

$ changelogfromtags --prefix "- "
Changelog
=========

0.1.1 (06/01/2020)
------------------
- Deploy package changelogfromtags on pypi

0.1.0 (06/01/2020)
------------------
- First release
- You retrieve the content of `git tag 0.1.0 -n200`

To the entry of a specific tag:

$ changelogfromtags --tag 0.1.1
0.1.1 (06/01/2020)
------------------
- Deploy package changelogfromtags on pypi

Running with Docker

docker run -it --rm -v $(pwd):/app r4mb0/changelogfromtags

See changelogfromtags docker image.

Output example

Features and advantages of this project

  • Changelog entries are directly taken from git tags messages
  • No requirements except python and git
  • Generate canonical, neat changelog file, with default sections that follow basic changelog guidelines

Save more time with git flow & auto-git-flow !

Check https://pypi.org/project/auto-git-flow/ !

Alternatives

Here is a wikipage list of alternatives that I found. But none satisfied my requirements.

If you know other projects, feel free to edit this Wiki page!

License

changelogfromtags is released under the MIT License.

Metadata

Release files for changelogfromtags 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for changelogfromtags 0.5.0
File Size Uploaded
changelogfromtags-0.5.0.tar.gz 13.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for changelogfromtags 0.5.0
File Interpreter ABI Platform
changelogfromtags-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.0 kB

Release files / changelogfromtags-0.5.0.tar.gz

Download URL changelogfromtags-0.5.0.tar.gz
Size 13.4 kB
Tags Source
SHA-256 checksum
How to use checksums
18b8bf34e007b0e5789c4e9397cc1e08ba5fd517b827681d15aac9a67b919684
BLAKE2b-256 checksum
How to use checksums
b9c4f4bced87d4572ab8b833494c84c8ca1e343938c342d9fb6f3d345585483f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.14

Release files / changelogfromtags-0.5.0-py3-none-any.whl

Download URL changelogfromtags-0.5.0-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6fd73ace951249a037665b7d932983c270413b3a1d725ac032e93e8987fe4e94
BLAKE2b-256 checksum
How to use checksums
150056d39922a7ee4d51ffde5808e438da106744d2fa48fb4c59ad3d6c6763cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.14

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page