Skip to main content

Generate changelog from Git commits.

Project description

Generate changelog from Git commits.

PyPI Version Supported Python versions Build Status GPL-2.0-only OR LGPL-2.1-or-later Coverage

Prerequisites

  • Python 3.6, 3.7 and 3.8

Documentation

Documentation is available on Read the Docs.

Installation

Latest stable version on PyPI:

pip install matyan

Usage

See Basic concepts section to get impression on possible commit methodology and assumptions taken.

Generate changelog:

generate-changelog

Generate changelog skipping orphaned commits:

In some cases you only want to show what has been done with tickets and skip all non-ticket related commits.

generate-changelog --no-other

Generate changelog between two releases:

In some cases you only want to show what has been done since last release. The following example would generate changelog since version 0.0.1 to version 0.0.3.

generate-changelog 0.0.1..0.0.3

Generate changelog between two branches:

In some cases you only want to show what has been done since last release. The following example would generate changelog since version 0.0.1 to version 0.0.3.

generate-changelog master..dev

Generate changelog with releases info shown

generate-changelog --show-releases

Generate changelog between releases with releases info shown

generate-changelog 0.0.1..0.0.3 --show-releases

Generate changelog between branches with releases info shown

generate-changelog master..dev --show-releases

Generate changelog for the latest release with releases info shown

generate-changelog --latest-release --show-releases

Configuration

In order to customize names and texts, add a .matyan.ini in your project directory, form which you will be running the generate-changelog command.

Sample configuration:

[BranchTypes]
feature: Feature
bugfix: Bugfix
hotfix: Hotfix
deprecation: Deprecation

[OtherBranchType]
other: Other

[Unreleased]
unreleased: Unreleased

[IgnoreCommits]
exact: more
       clean up
       code comments
       more on docs
       repo
       working
       more on
       wip
       commit
prefix: more on
        continue on

Tips and tricks

Write to file

generate-changelog --show-releases 2>&1 | tee changelog.md

Create initial config file

matyan-create-config

Testing

Simply type:

./runtests.py

Or use tox:

tox

Or use tox to check specific env:

tox -e py36

Writing documentation

Keep the following hierarchy.

=====
title
=====

header
======

sub-header
----------

sub-sub-header
~~~~~~~~~~~~~~

sub-sub-sub-header
^^^^^^^^^^^^^^^^^^

sub-sub-sub-sub-header
++++++++++++++++++++++

sub-sub-sub-sub-sub-header
**************************

License

GPL-2.0-only OR LGPL-2.1-or-later

Support

For any issues contact me at the e-mail given in the Author section.

Author

Artur Barseghyan <artur.barseghyan@gmail.com>

Project details


Download files

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

Source Distribution

matyan-0.3.tar.gz (147.1 kB view details)

Uploaded Source

Built Distribution

matyan-0.3-py2.py3-none-any.whl (169.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file matyan-0.3.tar.gz.

File metadata

  • Download URL: matyan-0.3.tar.gz
  • Upload date:
  • Size: 147.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.9

File hashes

Hashes for matyan-0.3.tar.gz
Algorithm Hash digest
SHA256 5b5049291e52105ddc793b96215ad54105f7fd05bf121561dead532b7e07cd10
MD5 818c12e8d1e023e4968a1dcf2e93b52f
BLAKE2b-256 98f42495945ae3d0a3e83257b5c6bb8eaa4cfa8ce5b6491465ae54b23bc5747e

See more details on using hashes here.

File details

Details for the file matyan-0.3-py2.py3-none-any.whl.

File metadata

  • Download URL: matyan-0.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 169.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.9

File hashes

Hashes for matyan-0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7111e50369faa56ee28e57f7815b0fb45eadf6f403b6aeda176325eb8c26ee53
MD5 489f4eee20aa1bf3c22b0bacb4fb8ecf
BLAKE2b-256 67a83a881fe7ef1d67885aa388751c7143caf23844d5a69c38f40165962db586

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page