Commitizen plugin for PyData-style commits
Project description
cz-pydata
Commitizen is command-line utility that helps you create your own set of rules for generating consistent commits, bumping your project's version, or generating a change log automatically.
PyData is an umbrella of projects from the scientific Python community, including NumPy, SciPy and Pandas. Some of these projects are using a commit message convention derived from the NumPy development guide, which will be referred to as the PyData convention.
Keep a Changelog is a specification for writing structured and human-readable changelogs. To my knowledge, there is currently no tooling available to turn PyData-style commit messages into a structured changelog automatically.
This plugin extends Commitizen to:
- Understand or generate commit messages following the PyData convention.
- Bump semantic versioning of a project based on those commit messages.
- Generate a structured changelog automatically following the KaC spec.
Table of Contents
Installation
Using pip
pip install cz-pydata
Using pipx
pipx install commitizen
pipx inject commitizen cz-pydata
Using pre-commit
# .pre-commit-config.yaml
repos:
- repo: https://github.com/commitizen-tools/commitizen
rev: master # TODO: Replace by latest version
hooks:
- id: commitizen
additional_dependencies: [ cz-pydata ]
Usage
To use this plugin with the Commitizen CLI:
cz --name cz_pydata <command>
Configuration
You can configure your project to use these commit rules
by adding the following settings in your pyproject.toml
:
[tool.commitizen]
name = "cz_pydata"
In addition, you may want to customize the commit message on version bumps
to support the REL
change type marker using:
bump_message = "REL: Release version $new_version"
Other configuration options are explained in the Commitizen documentation. Feel free to have a look at this project Commitizen configuration and adapt it to your needs.
License
cz-pydata
is distributed under the terms of the MIT license.
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 cz_pydata-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d1ff0775db31c1d687ec97b444aece5f7a4152298a5b1ce022dbcfede1db42a |
|
MD5 | 496a1d4ce03ac379646aea9ce9549c76 |
|
BLAKE2b-256 | 3fe4d2bc4af2c700b43342b731e27736157cb00f5004207201e4ca01d4cb5b1d |