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.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42039528fb8f26c478b567975b4ea9b0c3e28b4908440735bf829cf2e9abd698 |
|
MD5 | 405436524d518c1adc4d4b5aa2748e25 |
|
BLAKE2b-256 | 8096afc39f4e43bf090c1fe5591eb8be1043f20215cb3cc6e8d8b714ab9ba709 |