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.
Metadata
Release files for cz-pydata 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cz_pydata-0.3.0.tar.gz | 7.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cz_pydata-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.3 kB
Release files / cz_pydata-0.3.0.tar.gz
| Download URL | cz_pydata-0.3.0.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
78f34b4bcd4badc75f534bdeff9e7580026db0229c030bda521a10921776866f
|
|
BLAKE2b-256 checksum How to use checksums |
7b26e6aecebd426d26ed60ab84bdc76cf1ef272c703e497b32c8db84ff8fcd97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|
Release files / cz_pydata-0.3.0-py3-none-any.whl
| Download URL | cz_pydata-0.3.0-py3-none-any.whl |
|---|---|
| Size | 6.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f70c677eb0f56e7661a87c55d2287cee2135da74e39b297eceb11b6afcba9033
|
|
BLAKE2b-256 checksum How to use checksums |
37c2a0a819138caa3f1700a7096355b0f525f1cbabd4b7eb27c17ecf9f11ba59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|