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.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f70c677eb0f56e7661a87c55d2287cee2135da74e39b297eceb11b6afcba9033 |
|
MD5 | c5a5667eeea7b0bfe01d3fd673745659 |
|
BLAKE2b-256 | 37c2a0a819138caa3f1700a7096355b0f525f1cbabd4b7eb27c17ecf9f11ba59 |