cz-pydata


Namecz-pydata JSON
Version 0.3.0 PyPI version JSON
download
home_page
SummaryCommitizen plugin for PyData-style commits
upload_time2024-02-06 10:22:32
maintainer
docs_urlNone
author
requires_python>=3.8
license
keywords changelog commitizen git pydata
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # cz-pydata

[![PyPI - Version](https://img.shields.io/pypi/v/cz-pydata.svg)](https://pypi.org/project/cz-pydata)
[![PyPI - Python Versions](https://img.shields.io/pypi/pyversions/cz-pydata.svg)](https://pypi.org/project/cz-pydata)

-----

[Commitizen](https://commitizen-tools.github.io/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](https://pydata.org/project/) 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](https://numpy.org/doc/stable/dev/development_workflow.html#writing-the-commit-message), which will be referred to as the _PyData convention_.

[Keep a Changelog](https://keepachangelog.com/) 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](#installation)
- [Usage](#usage)
- [License](#license)

## Installation

### Using pip

```console
pip install cz-pydata
```

### Using pipx

```console
pipx install commitizen
pipx inject commitizen cz-pydata
```

### Using pre-commit

```yaml
# .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:

```console
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`:

```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:

```toml
bump_message = "REL: Release version $new_version"
```

Other configuration options are explained in the [Commitizen documentation](https://commitizen-tools.github.io/commitizen/config/).
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](https://spdx.org/licenses/MIT.html) license.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "cz-pydata",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "changelog,commitizen,git,pydata",
    "author": "",
    "author_email": "Ghislain Vaillant <ghisvail@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/7b/26/e6aecebd426d26ed60ab84bdc76cf1ef272c703e497b32c8db84ff8fcd97/cz_pydata-0.3.0.tar.gz",
    "platform": null,
    "description": "# cz-pydata\n\n[![PyPI - Version](https://img.shields.io/pypi/v/cz-pydata.svg)](https://pypi.org/project/cz-pydata)\n[![PyPI - Python Versions](https://img.shields.io/pypi/pyversions/cz-pydata.svg)](https://pypi.org/project/cz-pydata)\n\n-----\n\n[Commitizen](https://commitizen-tools.github.io/commitizen/) is command-line utility\nthat helps you create your own set of rules for generating consistent commits,\nbumping your project's version, or generating a change log automatically.\n\n[PyData](https://pydata.org/project/) is an umbrella of projects from the scientific Python community,\nincluding NumPy, SciPy and Pandas. Some of these projects are using a commit message convention derived from the [NumPy development guide](https://numpy.org/doc/stable/dev/development_workflow.html#writing-the-commit-message), which will be referred to as the _PyData convention_.\n\n[Keep a Changelog](https://keepachangelog.com/) is a specification for writing structured\nand human-readable changelogs. To my knowledge, there is currently no tooling available\nto turn PyData-style commit messages into a structured changelog automatically. \n\nThis plugin extends Commitizen to:\n- Understand or generate commit messages following the PyData convention.\n- Bump semantic versioning of a project based on those commit messages.\n- Generate a structured changelog automatically following the KaC spec.\n\n**Table of Contents**\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [License](#license)\n\n## Installation\n\n### Using pip\n\n```console\npip install cz-pydata\n```\n\n### Using pipx\n\n```console\npipx install commitizen\npipx inject commitizen cz-pydata\n```\n\n### Using pre-commit\n\n```yaml\n# .pre-commit-config.yaml\nrepos:\n  - repo: https://github.com/commitizen-tools/commitizen\n    rev: master  # TODO: Replace by latest version\n    hooks:\n      - id: commitizen\n        additional_dependencies: [ cz-pydata ]\n```\n\n## Usage\n\nTo use this plugin with the Commitizen CLI:\n\n```console\ncz --name cz_pydata <command>\n```\n\n## Configuration\n\nYou can configure your project to use these commit rules\nby adding the following settings in your `pyproject.toml`:\n\n```toml\n[tool.commitizen]\nname = \"cz_pydata\"\n```\n\nIn addition, you may want to customize the commit message on version bumps\nto support the `REL` change type marker using:\n\n```toml\nbump_message = \"REL: Release version $new_version\"\n```\n\nOther configuration options are explained in the [Commitizen documentation](https://commitizen-tools.github.io/commitizen/config/).\nFeel free to have a look at this project Commitizen configuration and adapt it to your needs.\n\n## License\n\n`cz-pydata` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Commitizen plugin for PyData-style commits",
    "version": "0.3.0",
    "project_urls": {
        "Changelog": "https://github.com/ghisvail/cz-pydata#changelog",
        "Documentation": "https://github.com/ghisvail/cz-pydata#readme",
        "Issues": "https://github.com/ghisvail/cz-pydata/issues",
        "Source": "https://github.com/ghisvail/cz-pydata"
    },
    "split_keywords": [
        "changelog",
        "commitizen",
        "git",
        "pydata"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37c2a0a819138caa3f1700a7096355b0f525f1cbabd4b7eb27c17ecf9f11ba59",
                "md5": "c5a5667eeea7b0bfe01d3fd673745659",
                "sha256": "f70c677eb0f56e7661a87c55d2287cee2135da74e39b297eceb11b6afcba9033"
            },
            "downloads": -1,
            "filename": "cz_pydata-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c5a5667eeea7b0bfe01d3fd673745659",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6042,
            "upload_time": "2024-02-06T10:22:31",
            "upload_time_iso_8601": "2024-02-06T10:22:31.397026Z",
            "url": "https://files.pythonhosted.org/packages/37/c2/a0a819138caa3f1700a7096355b0f525f1cbabd4b7eb27c17ecf9f11ba59/cz_pydata-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b26e6aecebd426d26ed60ab84bdc76cf1ef272c703e497b32c8db84ff8fcd97",
                "md5": "c77d870db366cdcc95c6d4cff00b2f90",
                "sha256": "78f34b4bcd4badc75f534bdeff9e7580026db0229c030bda521a10921776866f"
            },
            "downloads": -1,
            "filename": "cz_pydata-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c77d870db366cdcc95c6d4cff00b2f90",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 7266,
            "upload_time": "2024-02-06T10:22:32",
            "upload_time_iso_8601": "2024-02-06T10:22:32.983832Z",
            "url": "https://files.pythonhosted.org/packages/7b/26/e6aecebd426d26ed60ab84bdc76cf1ef272c703e497b32c8db84ff8fcd97/cz_pydata-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-06 10:22:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ghisvail",
    "github_project": "cz-pydata#changelog",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cz-pydata"
}
        
Elapsed time: 0.18226s