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, 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.4.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fb01e8ddae8dc291e600e4acc2c2bbca7c7bf83c6a2b895d4ff8c5c45926076 |
|
MD5 | 4a1d6c40428c894f1bf19b7b0188a9e1 |
|
BLAKE2b-256 | 79265b60b2dd9a885533e044610a23f52613d78a83e863d0e1b34f53f96d8c4f |