# git-changelog
[![ci](https://github.com/pawamoy/git-changelog/workflows/ci/badge.svg)](https://github.com/pawamoy/git-changelog/actions?query=workflow%3Aci)
[![documentation](https://img.shields.io/badge/docs-mkdocs%20material-blue.svg?style=flat)](https://pawamoy.github.io/git-changelog/)
[![pypi version](https://img.shields.io/pypi/v/git-changelog.svg)](https://pypi.org/project/git-changelog/)
[![gitpod](https://img.shields.io/badge/gitpod-workspace-blue.svg?style=flat)](https://gitpod.io/#https://github.com/pawamoy/git-changelog)
[![gitter](https://badges.gitter.im/join%20chat.svg)](https://app.gitter.im/#/room/#git-changelog:gitter.im)
Automatic Changelog generator using Jinja2 templates. From git logs to change logs.
## Features
- [Jinja2][jinja2] templates!
You get full control over the rendering.
Built-in [Keep a Changelog][keep-a-changelog] and [Angular][angular] templates
(also see [Conventional Changelog][conventional-changelog]).
- Commit styles/conventions parsing.
Built-in [Angular][angular-convention], [Conventional Commit][conventional-commit] and basic conventions.
- Git service/provider agnostic,
plus references parsing (issues, commits, etc.).
Built-in [GitHub][github-refs], [Gitlab][gitlab-refs] and [Bitbucket][bitbucket-refs] support.
- Understands [SemVer][semver] and [PEP 440][pep-440] versioning schemes.
Guesses next version based on last commits.
- Parses [Git trailers][git-trailers], allowing to reference
issues, PRs, etc., in your commit messages
in a clean, provider-agnostic way.
- Template context injection,
to furthermore customize how your changelog will be rendered.
- Todo:
- [Plugin architecture][issue-19],
to support more commit conventions and git services.
- [Easy access to "Breaking Changes"][issue-14] in the templates.
[jinja2]: http://jinja.pocoo.org/
[keep-a-changelog]: http://keepachangelog.com/en/1.0.0/
[angular]: https://github.com/angular/angular/blob/master/CHANGELOG.md
[conventional-changelog]: https://github.com/conventional-changelog/conventional-changelog
[semver]: http://semver.org/spec/v2.0.0.html
[angular-convention]: https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit
[conventional-commit]: https://www.conventionalcommits.org/en/v1.0.0/
[github-refs]: https://help.github.com/articles/autolinked-references-and-urls/
[gitlab-refs]: https://docs.gitlab.com/ce/user/markdown.html#special-gitlab-references
[bitbucket-refs]: https://support.atlassian.com/bitbucket-cloud/docs/markup-comments
[git-trailers]: https://git-scm.com/docs/git-interpret-trailers
[pep-440]: https://peps.python.org/pep-0440/
[issue-14]: https://github.com/pawamoy/git-changelog/issues/14
[issue-19]: https://github.com/pawamoy/git-changelog/issues/19
## Installation
With `pip`:
```bash
pip install git-changelog
```
With [`pipx`](https://github.com/pipxproject/pipx):
```bash
python3.8 -m pip install --user pipx
pipx install git-changelog
```
## Usage
Simply run `git-changelog` in your repository to output a changelog on standard output.
To show the different options and their descriptions, use `git-changelog -h`.
- See [Quick usage](http://pawamoy.github.io/git-changelog/usage/#quick-usage)
for some command line examples.
- See [Configuration](https://pawamoy.github.io/git-changelog/usage/#configuration-files)
to learn how to configure *git-changelog* for your project.
- See the [CLI reference](https://pawamoy.github.io/git-changelog/cli)
and the [API reference](https://pawamoy.github.io/git-changelog/reference) for more information.
Raw data
{
"_id": null,
"home_page": null,
"name": "git-changelog",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "git changelog changelog-generator commit-style commit-convention",
"author": null,
"author_email": "Timoth\u00e9e Mazzucotelli <dev@pawamoy.fr>",
"download_url": "https://files.pythonhosted.org/packages/11/fc/9eb323c9a8857d93995f149cc439b7df3a47d5a59767f24c53c7dd2107f5/git_changelog-2.5.2.tar.gz",
"platform": null,
"description": "# git-changelog\n\n[![ci](https://github.com/pawamoy/git-changelog/workflows/ci/badge.svg)](https://github.com/pawamoy/git-changelog/actions?query=workflow%3Aci)\n[![documentation](https://img.shields.io/badge/docs-mkdocs%20material-blue.svg?style=flat)](https://pawamoy.github.io/git-changelog/)\n[![pypi version](https://img.shields.io/pypi/v/git-changelog.svg)](https://pypi.org/project/git-changelog/)\n[![gitpod](https://img.shields.io/badge/gitpod-workspace-blue.svg?style=flat)](https://gitpod.io/#https://github.com/pawamoy/git-changelog)\n[![gitter](https://badges.gitter.im/join%20chat.svg)](https://app.gitter.im/#/room/#git-changelog:gitter.im)\n\nAutomatic Changelog generator using Jinja2 templates. From git logs to change logs.\n\n## Features\n\n- [Jinja2][jinja2] templates!\n You get full control over the rendering.\n Built-in [Keep a Changelog][keep-a-changelog] and [Angular][angular] templates\n (also see [Conventional Changelog][conventional-changelog]).\n- Commit styles/conventions parsing.\n Built-in [Angular][angular-convention], [Conventional Commit][conventional-commit] and basic conventions.\n- Git service/provider agnostic,\n plus references parsing (issues, commits, etc.).\n Built-in [GitHub][github-refs], [Gitlab][gitlab-refs] and [Bitbucket][bitbucket-refs] support.\n- Understands [SemVer][semver] and [PEP 440][pep-440] versioning schemes.\n Guesses next version based on last commits.\n- Parses [Git trailers][git-trailers], allowing to reference\n issues, PRs, etc., in your commit messages\n in a clean, provider-agnostic way.\n- Template context injection,\n to furthermore customize how your changelog will be rendered.\n\n- Todo:\n - [Plugin architecture][issue-19],\n to support more commit conventions and git services.\n - [Easy access to \"Breaking Changes\"][issue-14] in the templates.\n\n[jinja2]: http://jinja.pocoo.org/\n[keep-a-changelog]: http://keepachangelog.com/en/1.0.0/\n[angular]: https://github.com/angular/angular/blob/master/CHANGELOG.md\n[conventional-changelog]: https://github.com/conventional-changelog/conventional-changelog\n[semver]: http://semver.org/spec/v2.0.0.html\n[angular-convention]: https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit\n[conventional-commit]: https://www.conventionalcommits.org/en/v1.0.0/\n[github-refs]: https://help.github.com/articles/autolinked-references-and-urls/\n[gitlab-refs]: https://docs.gitlab.com/ce/user/markdown.html#special-gitlab-references\n[bitbucket-refs]: https://support.atlassian.com/bitbucket-cloud/docs/markup-comments\n[git-trailers]: https://git-scm.com/docs/git-interpret-trailers\n[pep-440]: https://peps.python.org/pep-0440/\n\n[issue-14]: https://github.com/pawamoy/git-changelog/issues/14\n[issue-19]: https://github.com/pawamoy/git-changelog/issues/19\n\n## Installation\n\nWith `pip`:\n\n```bash\npip install git-changelog\n```\n\nWith [`pipx`](https://github.com/pipxproject/pipx):\n\n```bash\npython3.8 -m pip install --user pipx\npipx install git-changelog\n```\n\n## Usage\n\nSimply run `git-changelog` in your repository to output a changelog on standard output.\nTo show the different options and their descriptions, use `git-changelog -h`.\n\n- See [Quick usage](http://pawamoy.github.io/git-changelog/usage/#quick-usage)\n for some command line examples.\n- See [Configuration](https://pawamoy.github.io/git-changelog/usage/#configuration-files)\n to learn how to configure *git-changelog* for your project.\n- See the [CLI reference](https://pawamoy.github.io/git-changelog/cli)\n and the [API reference](https://pawamoy.github.io/git-changelog/reference) for more information.\n",
"bugtrack_url": null,
"license": "ISC",
"summary": "Automatic Changelog generator using Jinja2 templates.",
"version": "2.5.2",
"project_urls": {
"Changelog": "https://pawamoy.github.io/git-changelog/changelog",
"Discussions": "https://github.com/pawamoy/git-changelog/discussions",
"Documentation": "https://pawamoy.github.io/git-changelog",
"Funding": "https://github.com/sponsors/pawamoy",
"Gitter": "https://gitter.im/git-changelog/community",
"Homepage": "https://pawamoy.github.io/git-changelog",
"Issues": "https://github.com/pawamoy/git-changelog/issues",
"Repository": "https://github.com/pawamoy/git-changelog"
},
"split_keywords": [
"git",
"changelog",
"changelog-generator",
"commit-style",
"commit-convention"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "539d09550219982499783e9fe228a2feeb658a964d06376bfd1a537cfb236e08",
"md5": "197804c11b5706de02b746d19f331003",
"sha256": "82eca31bd80fbd85e6b252fece82fe450706a7796b92c9d2c7f17c5944fe9ca7"
},
"downloads": -1,
"filename": "git_changelog-2.5.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "197804c11b5706de02b746d19f331003",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 32040,
"upload_time": "2024-04-04T15:36:03",
"upload_time_iso_8601": "2024-04-04T15:36:03.220092Z",
"url": "https://files.pythonhosted.org/packages/53/9d/09550219982499783e9fe228a2feeb658a964d06376bfd1a537cfb236e08/git_changelog-2.5.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "11fc9eb323c9a8857d93995f149cc439b7df3a47d5a59767f24c53c7dd2107f5",
"md5": "1d7a8f4eb6d1ea1e5917e9c428818ab8",
"sha256": "b71a404a524dc0b14a34f92d306ae011a05c5fcf7c78ee5b484af50ac44ced65"
},
"downloads": -1,
"filename": "git_changelog-2.5.2.tar.gz",
"has_sig": false,
"md5_digest": "1d7a8f4eb6d1ea1e5917e9c428818ab8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 38660,
"upload_time": "2024-04-04T15:36:05",
"upload_time_iso_8601": "2024-04-04T15:36:05.856652Z",
"url": "https://files.pythonhosted.org/packages/11/fc/9eb323c9a8857d93995f149cc439b7df3a47d5a59767f24c53c7dd2107f5/git_changelog-2.5.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-04 15:36:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pawamoy",
"github_project": "git-changelog",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "git-changelog"
}