generate-changelog


Namegenerate-changelog JSON
Version 0.10.0 PyPI version JSON
download
home_page
SummaryGenerate a changelog file from a local git checkout
upload_time2023-12-05 13:14:43
maintainer
docs_urlNone
author
requires_python>=3.8
licenseMIT
keywords changelog change git commit
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Generate Changelog

<!-- start badges -->
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/callowayproject/generate-changelog/master.svg)](https://results.pre-commit.ci/latest/github/callowayproject/generate-changelog/master)
[![codecov](https://codecov.io/gh/callowayproject/generate-changelog/branch/master/graph/badge.svg?token=IPRMV15D17)](https://codecov.io/gh/callowayproject/generate-changelog)

Use your commit log to make a beautiful changelog file.
<!-- end badges -->

- [Documentation](https://callowayproject.github.io/generate-changelog/)
- [GitHub](https://github.com/callowayproject/generate-changelog)

`generate-changelog` does what it says: it generates a full changelog, or updates an existing one. Git tags and commits are the inputs by which `generate-changelog` performs its task.

The primary goal of this tool was to provide the benefits of [conventional commits](https://www.conventionalcommits.org/) without requiring a strict syntax. `generate-changelog` accomplishes this using configurable regular expressions or commit metadata matching. The thought is natural language is easier for developers to remember and requires less tooling to enforce.

## Features

### Commit and tag processing

- Filter out commits and tags based on regular expression matching.
- Classify commit messages into sections such as "New", "Fixes", and "Changes" using configurable regular expressions, metadata, or custom criteria.
- Rewrite commit summary or commit body using pipelines of actions.
- Extract parts of the commit summary or body into metadata available for templates and filters.
- Built-in issue parsers for Jira, GitHub, Azure DevOps Board.
- Built-in conventional commit parser

### Changelog rendering

- Templated using [Jinja](https://jinja.palletsprojects.com/en/3.0.x/) templates.
- Each template has a large amount of metadata that allows linking to a commit, a version diff, and issue trackers.
- Easily customize just the template you want.
- Supports full or incremental changelog generation.

### Release hints

- Can use user-defined rules to suggest a release type for use in another part of your CI pipeline.

### Git support

- Supports your merge or rebase workflows and complicated git histories.
- Supports of multi-authors for one commit through configurable [trailers key values](https://git.wiki.kernel.org/index.php/CommitMessageConventions).
- Built-in parser for turning [trailers key values](https://zerokspot.com/weblog/2020/10/24/git-commit-messages-with-attributes/) into metadata.

## Requirements

Python 3.7 or higher.

## Installation

```bash
$ pip install generate-changelog
```

## Usage

Create a default configuration file.

```bash
$ generate-changelog --generate-config
```

This creates a file named `.changelog-config.yaml`. You can make changes to the default configuration.

Generate your changelog via:

```bash
$ generate-changelog
```

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "generate-changelog",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "changelog,change,git,commit",
    "author": "",
    "author_email": "Corey Oordt <coreyoordt@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/48/3e/8942ba0430b33baf334acc05e48680d0b43b6ab59dce13c5e6eed800f760/generate_changelog-0.10.0.tar.gz",
    "platform": null,
    "description": "# Generate Changelog\n\n<!-- start badges -->\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/callowayproject/generate-changelog/master.svg)](https://results.pre-commit.ci/latest/github/callowayproject/generate-changelog/master)\n[![codecov](https://codecov.io/gh/callowayproject/generate-changelog/branch/master/graph/badge.svg?token=IPRMV15D17)](https://codecov.io/gh/callowayproject/generate-changelog)\n\nUse your commit log to make a beautiful changelog file.\n<!-- end badges -->\n\n- [Documentation](https://callowayproject.github.io/generate-changelog/)\n- [GitHub](https://github.com/callowayproject/generate-changelog)\n\n`generate-changelog` does what it says: it generates a full changelog, or updates an existing one. Git tags and commits are the inputs by which `generate-changelog` performs its task.\n\nThe primary goal of this tool was to provide the benefits of [conventional commits](https://www.conventionalcommits.org/) without requiring a strict syntax. `generate-changelog` accomplishes this using configurable regular expressions or commit metadata matching. The thought is natural language is easier for developers to remember and requires less tooling to enforce.\n\n## Features\n\n### Commit and tag processing\n\n- Filter out commits and tags based on regular expression matching.\n- Classify commit messages into sections such as \"New\", \"Fixes\", and \"Changes\" using configurable regular expressions, metadata, or custom criteria.\n- Rewrite commit summary or commit body using pipelines of actions.\n- Extract parts of the commit summary or body into metadata available for templates and filters.\n- Built-in issue parsers for Jira, GitHub, Azure DevOps Board.\n- Built-in conventional commit parser\n\n### Changelog rendering\n\n- Templated using [Jinja](https://jinja.palletsprojects.com/en/3.0.x/) templates.\n- Each template has a large amount of metadata that allows linking to a commit, a version diff, and issue trackers.\n- Easily customize just the template you want.\n- Supports full or incremental changelog generation.\n\n### Release hints\n\n- Can use user-defined rules to suggest a release type for use in another part of your CI pipeline.\n\n### Git support\n\n- Supports your merge or rebase workflows and complicated git histories.\n- Supports of multi-authors for one commit through configurable [trailers key values](https://git.wiki.kernel.org/index.php/CommitMessageConventions).\n- Built-in parser for turning [trailers key values](https://zerokspot.com/weblog/2020/10/24/git-commit-messages-with-attributes/) into metadata.\n\n## Requirements\n\nPython 3.7 or higher.\n\n## Installation\n\n```bash\n$ pip install generate-changelog\n```\n\n## Usage\n\nCreate a default configuration file.\n\n```bash\n$ generate-changelog --generate-config\n```\n\nThis creates a file named `.changelog-config.yaml`. You can make changes to the default configuration.\n\nGenerate your changelog via:\n\n```bash\n$ generate-changelog\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Generate a changelog file from a local git checkout",
    "version": "0.10.0",
    "project_urls": {
        "Documentation": "https://callowayproject.github.io/generate-changelog/",
        "Homepage": "https://github.com/callowayproject/generate_changelog",
        "Source": "https://github.com/callowayproject/generate-changelog"
    },
    "split_keywords": [
        "changelog",
        "change",
        "git",
        "commit"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "51dad102b523c214f2e49a5eab1a50e5b816ba4e30180dd7797c27c562157b47",
                "md5": "b61ff807ad09ff4339f136b360c242dd",
                "sha256": "c4903cf0666df4231a4f7a50de9362a01767e5fd8805ef09baa9775fa6df3034"
            },
            "downloads": -1,
            "filename": "generate_changelog-0.10.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b61ff807ad09ff4339f136b360c242dd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 57976,
            "upload_time": "2023-12-05T13:14:42",
            "upload_time_iso_8601": "2023-12-05T13:14:42.013216Z",
            "url": "https://files.pythonhosted.org/packages/51/da/d102b523c214f2e49a5eab1a50e5b816ba4e30180dd7797c27c562157b47/generate_changelog-0.10.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "483e8942ba0430b33baf334acc05e48680d0b43b6ab59dce13c5e6eed800f760",
                "md5": "10e2cdbaa49477fc86146d61d0d31187",
                "sha256": "2b1471eed7201acaad6f4bb43d9672df6a64ac50f32f4551aefd408b9eaac97d"
            },
            "downloads": -1,
            "filename": "generate_changelog-0.10.0.tar.gz",
            "has_sig": false,
            "md5_digest": "10e2cdbaa49477fc86146d61d0d31187",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 58146,
            "upload_time": "2023-12-05T13:14:43",
            "upload_time_iso_8601": "2023-12-05T13:14:43.719136Z",
            "url": "https://files.pythonhosted.org/packages/48/3e/8942ba0430b33baf334acc05e48680d0b43b6ab59dce13c5e6eed800f760/generate_changelog-0.10.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-05 13:14:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "callowayproject",
    "github_project": "generate_changelog",
    "github_not_found": true,
    "lcname": "generate-changelog"
}
        
Elapsed time: 0.15002s