Automatic Changelog generator using Jinja2 templates.
Project description
git-changelog
Automatic Changelog generator using Jinja2 templates. From git logs to change logs.
Features
-
Jinja2 templates! You get full control over the rendering. Built-in Keep a Changelog and Angular templates (also see Conventional Changelog).
-
Commit styles/conventions parsing. Built-in Angular, Conventional Commit, Atom and basic styles.
-
Git service/provider agnostic, plus references parsing (issues, commits, etc.). Built-in GitHub and Gitlab support.
-
Understands Semantic Versioning: major/minor/patch for versions and commits. Guesses next version based on last commits.
-
Todo:
- Plugin architecture, to support more commit styles and git services.
- Template context injection, to furthermore customize how your changelog will be rendered.
- Easy access to "Breaking Changes" in the templates.
- Update changelog in-place, paired with commits/dates/versions range limitation ability.
Requirements
git-changelog requires Python 3.6 or above.
To install Python 3.6, I recommend using pyenv
.
# install pyenv
git clone https://github.com/pyenv/pyenv ~/.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
Installation
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]
REPOSITORY
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 "changelog.md".
-v, --version Show the current version of the program and exit.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for git_changelog-0.5.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca7fd3371dd6918c6c19202bbccadc59030da48a5fe350601f15fc5c36c1431a |
|
MD5 | 03bfe5c3417eca47e49fb6d5098f65a0 |
|
BLAKE2b-256 | 298e6ad93b2a97edbcb17cb028deade8a15fd8d8781989dbaae3701579510ca7 |