Skip to content

A Python utility to automagically update the package version from the git history and generate the Changelog

License

Notifications You must be signed in to change notification settings

jgoodman8/pyhist

Repository files navigation


PyHist Logo

PyPi License

A Python utility to automagically update the package version from the git history and generate the Changelog

Overview

Pyhist is a Python utility to automagically update the package version from the git history and generate the Changelog. Inspired by the Conventional Commits specification, this tool inspects the commits history and calculates the new version.

First steps

  • Init: initializes the pyhist from the current git history and creates a .pyhist binary file and creates a versioning commit with the initialization of the utility.
pyhist --init
  • Update: triggers the version update (minor and/or patch). The command inspects the changes applied to the git history from the previous version update and performs the following changes:
    1. Updates the version in the setup.py
    2. Generates a Changelog.md with the content of the version updates (or appends the changes if previously created)
    3. Updates the .pyhist
    4. Adds a versioning commit with the changes (i.e. versioning: Set version to 1.3.7)
pyhist --update
  • Major: triggers the version update in the major version. This command performs the equivalent steps to the update command.
pyhist --major

Installation

Pyhist requires Python 3.7 or higher.

From PyPI

pip install pyhist

From the source code

git clone https://github.com/jgoodman8/pyhist.git
cd pyhist
pip install -e .

Tests

git clone https://github.com/jgoodman8/pyhist.git
cd pyhist
pip install -e .
pip install -e .[tests]

pytest pyhist/tests

Commits specification

This project is inspired by the Conventional Commits specification. Given this, we establish the following rules.

  • Major update:
    • Explicitly called using the pyhist --major command.
  • Minor update:
    • feat
  • Patch update:
    • fix
    • docs
    • test
    • chore
    • perf
    • refactor
    • style

About

A Python utility to automagically update the package version from the git history and generate the Changelog

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages