Skip to main content

Commitizen plugin for PyData-style commits

Project description

cz-pydata

PyPI - Version PyPI - Python Versions


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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cz_pydata-0.3.0.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

cz_pydata-0.3.0-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file cz_pydata-0.3.0.tar.gz.

File metadata

  • Download URL: cz_pydata-0.3.0.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for cz_pydata-0.3.0.tar.gz
Algorithm Hash digest
SHA256 78f34b4bcd4badc75f534bdeff9e7580026db0229c030bda521a10921776866f
MD5 c77d870db366cdcc95c6d4cff00b2f90
BLAKE2b-256 7b26e6aecebd426d26ed60ab84bdc76cf1ef272c703e497b32c8db84ff8fcd97

See more details on using hashes here.

File details

Details for the file cz_pydata-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: cz_pydata-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for cz_pydata-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f70c677eb0f56e7661a87c55d2287cee2135da74e39b297eceb11b6afcba9033
MD5 c5a5667eeea7b0bfe01d3fd673745659
BLAKE2b-256 37c2a0a819138caa3f1700a7096355b0f525f1cbabd4b7eb27c17ecf9f11ba59

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page