# changeloggh
<a href="https://www.python.org/"><img alt="Python" src="https://img.shields.io/badge/-python-success?logo=python&logoColor=white"></a>
<a href="https://github.com/sauljabin/changeloggh"><img alt="GitHub" src="https://img.shields.io/badge/status-active-brightgreen"></a>
<a href="https://github.com/sauljabin/changeloggh/blob/main/LICENSE"><img alt="MIT License" src="https://img.shields.io/github/license/sauljabin/changeloggh"></a>
<a href="https://github.com/sauljabin/changeloggh/actions"><img alt="GitHub Actions" src="https://img.shields.io/github/actions/workflow/status/sauljabin/changeloggh/main.yml?branch=main"></a>
<a href="https://app.codecov.io/gh/sauljabin/changeloggh"><img alt="Codecov" src="https://img.shields.io/codecov/c/github/sauljabin/changeloggh"></a>
<a href="https://pypi.org/project/changeloggh"><img alt="Python Versions" src="https://img.shields.io/pypi/pyversions/changeloggh"></a>
<a href="https://pypi.org/project/changeloggh"><img alt="Version" src="https://img.shields.io/pypi/v/changeloggh"></a>
<a href="https://libraries.io/pypi/changeloggh"><img alt="Dependencies" src="https://img.shields.io/librariesio/release/pypi/changeloggh"></a>
<a href="https://pypi.org/project/changeloggh"><img alt="Platform" src="https://img.shields.io/badge/platform-linux%20%7C%20osx-blueviolet"></a>
`changeloggh` is a command line tool
to generate and administrate changelog files for GitHub
according to https://keepachangelog.com/en/1.1.0/.
<p align="center">
<img width="45%" src="https://raw.githubusercontent.com/sauljabin/changeloggh/main/screenshots/md.png">
<img width="45%" src="https://raw.githubusercontent.com/sauljabin/changeloggh/main/screenshots/json.png">
</p>
# Installation
```sh
pipx install changeloggh
```
Upgrade with pip:
```sh
pipx upgrade changeloggh
```
## Usage
> Alias clgh
Help:
```sh
changeloggh --help
```
Version:
```sh
changeloggh --version
```
Init CHANGELOG:
```shell
changeloggh init <GitHub Repo>
```
Add changes:
```sh
changeloggh <added|changed|deprecated|removed|fixed|security> "entry 1" "entry 2" ...
```
Bump version:
```shell
changeloggh bump <major|minor|patch>
```
Release version:
```shell
changeloggh release <version>
```
Import MD:
```shell
changeloggh import
```
Print current version:
```shell
changeloggh latest
```
Print CHANGELOG:
```shell
changeloggh print --format <rich|json|text>
```
## Development
Installing poetry:
```sh
pipx install poetry
```
Installing development dependencies:
```sh
poetry install
```
Installing pre-commit:
```sh
poetry run pre-commit install
```
Running unit tests:
```sh
poetry run python -m scripts.tests
```
Applying code styles:
```sh
poetry run python -m scripts.styles
```
Running code analysis:
```sh
poetry run python -m scripts.analyze
```
Running code coverage:
```sh
poetry run python -m scripts.coverage
```
Running cli using `poetry`:
```sh
poetry run changeloggh
```
## Release a new version
> Check https://python-poetry.org/docs/cli/#version
```shell
poetry run python -m scripts.bump --help
poetry run python -m scripts.bump <major|minor|patch>
```
## Why a lock file?
A lot of tools (like `yarn`, `npm`, `poetry` ,etc) use `lock files` to
ensures that installations remain identical and reproducible
across systems. A `lock files` saves important metadata, so that is why
`changeloggh` is using this approach. The `changelog.lock` file
saves and structures changelog data in json format.
It's highly recommended to commit the `changelog.lock` file into your repository.
## Limitations
- Does not support other format besides `semver` `major.minor.patch`, ex.: 1.1.1.
- It needs a `changelog.lock`.
## Alternatives
- [changelog-cli](https://github.com/mc706/changelog-cli)
Raw data
{
"_id": null,
"home_page": "https://github.com/sauljabin/changeloggh",
"name": "changeloggh",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "changelog, changeloggh",
"author": "Sa\u00fal Pi\u00f1a",
"author_email": "sauljabin@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/9d/49/ea99796954a8bc71a23e56c79b74d97ea0f7d0bb4d14d0f2a0349b6a11ce/changeloggh-1.1.0.tar.gz",
"platform": null,
"description": "# changeloggh\n\n<a href=\"https://www.python.org/\"><img alt=\"Python\" src=\"https://img.shields.io/badge/-python-success?logo=python&logoColor=white\"></a>\n<a href=\"https://github.com/sauljabin/changeloggh\"><img alt=\"GitHub\" src=\"https://img.shields.io/badge/status-active-brightgreen\"></a>\n<a href=\"https://github.com/sauljabin/changeloggh/blob/main/LICENSE\"><img alt=\"MIT License\" src=\"https://img.shields.io/github/license/sauljabin/changeloggh\"></a>\n<a href=\"https://github.com/sauljabin/changeloggh/actions\"><img alt=\"GitHub Actions\" src=\"https://img.shields.io/github/actions/workflow/status/sauljabin/changeloggh/main.yml?branch=main\"></a>\n<a href=\"https://app.codecov.io/gh/sauljabin/changeloggh\"><img alt=\"Codecov\" src=\"https://img.shields.io/codecov/c/github/sauljabin/changeloggh\"></a>\n<a href=\"https://pypi.org/project/changeloggh\"><img alt=\"Python Versions\" src=\"https://img.shields.io/pypi/pyversions/changeloggh\"></a>\n<a href=\"https://pypi.org/project/changeloggh\"><img alt=\"Version\" src=\"https://img.shields.io/pypi/v/changeloggh\"></a>\n<a href=\"https://libraries.io/pypi/changeloggh\"><img alt=\"Dependencies\" src=\"https://img.shields.io/librariesio/release/pypi/changeloggh\"></a>\n<a href=\"https://pypi.org/project/changeloggh\"><img alt=\"Platform\" src=\"https://img.shields.io/badge/platform-linux%20%7C%20osx-blueviolet\"></a>\n\n`changeloggh` is a command line tool\nto generate and administrate changelog files for GitHub\naccording to https://keepachangelog.com/en/1.1.0/.\n\n<p align=\"center\">\n<img width=\"45%\" src=\"https://raw.githubusercontent.com/sauljabin/changeloggh/main/screenshots/md.png\">\n<img width=\"45%\" src=\"https://raw.githubusercontent.com/sauljabin/changeloggh/main/screenshots/json.png\">\n</p>\n\n# Installation\n\n```sh\npipx install changeloggh\n```\n\nUpgrade with pip:\n```sh\npipx upgrade changeloggh\n```\n\n## Usage\n\n> Alias clgh\n\nHelp:\n```sh\nchangeloggh --help\n```\n\nVersion:\n```sh\nchangeloggh --version\n```\n\nInit CHANGELOG:\n```shell\nchangeloggh init <GitHub Repo>\n```\n\nAdd changes:\n```sh\nchangeloggh <added|changed|deprecated|removed|fixed|security> \"entry 1\" \"entry 2\" ...\n```\n\nBump version:\n```shell\nchangeloggh bump <major|minor|patch>\n```\n\nRelease version:\n```shell\nchangeloggh release <version>\n```\n\nImport MD:\n```shell\nchangeloggh import\n```\n\nPrint current version:\n```shell\nchangeloggh latest\n```\n\nPrint CHANGELOG:\n```shell\nchangeloggh print --format <rich|json|text>\n```\n\n## Development\n\nInstalling poetry:\n```sh\npipx install poetry\n```\n\nInstalling development dependencies:\n```sh\npoetry install\n```\n\nInstalling pre-commit:\n```sh\npoetry run pre-commit install\n```\n\nRunning unit tests:\n```sh\npoetry run python -m scripts.tests\n```\n\nApplying code styles:\n```sh\npoetry run python -m scripts.styles\n```\n\nRunning code analysis:\n```sh\npoetry run python -m scripts.analyze\n```\n\nRunning code coverage:\n```sh\npoetry run python -m scripts.coverage\n```\n\nRunning cli using `poetry`:\n```sh\npoetry run changeloggh\n```\n\n## Release a new version\n\n> Check https://python-poetry.org/docs/cli/#version\n\n```shell\npoetry run python -m scripts.bump --help\npoetry run python -m scripts.bump <major|minor|patch>\n```\n\n## Why a lock file?\n\nA lot of tools (like `yarn`, `npm`, `poetry` ,etc) use `lock files` to\nensures that installations remain identical and reproducible\nacross systems. A `lock files` saves important metadata, so that is why\n`changeloggh` is using this approach. The `changelog.lock` file\nsaves and structures changelog data in json format.\nIt's highly recommended to commit the `changelog.lock` file into your repository.\n\n## Limitations\n\n- Does not support other format besides `semver` `major.minor.patch`, ex.: 1.1.1.\n- It needs a `changelog.lock`.\n\n## Alternatives\n\n- [changelog-cli](https://github.com/mc706/changelog-cli)\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "changeloggh is a command line tool that generates changelog files for github",
"version": "1.1.0",
"project_urls": {
"Homepage": "https://github.com/sauljabin/changeloggh",
"Repository": "https://github.com/sauljabin/changeloggh"
},
"split_keywords": [
"changelog",
" changeloggh"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "19f2093f57fb2d917c8311a1c39805054d70c72125d051c55daa559308e4661e",
"md5": "39fade39c7621865d2b44ea25e7fa595",
"sha256": "61f9ec86e0e589aaa9ba56d95843faa71f9c0abbcb6af1df53e500ec90a31ab2"
},
"downloads": -1,
"filename": "changeloggh-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "39fade39c7621865d2b44ea25e7fa595",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 9805,
"upload_time": "2024-07-14T17:26:42",
"upload_time_iso_8601": "2024-07-14T17:26:42.334404Z",
"url": "https://files.pythonhosted.org/packages/19/f2/093f57fb2d917c8311a1c39805054d70c72125d051c55daa559308e4661e/changeloggh-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9d49ea99796954a8bc71a23e56c79b74d97ea0f7d0bb4d14d0f2a0349b6a11ce",
"md5": "1d26a559a7d2bba006ddfac55da0344e",
"sha256": "956e51aa4aaa0678916c776756f200776f978bf7ca65eb632081bdd971b55c4f"
},
"downloads": -1,
"filename": "changeloggh-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "1d26a559a7d2bba006ddfac55da0344e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 8351,
"upload_time": "2024-07-14T17:26:43",
"upload_time_iso_8601": "2024-07-14T17:26:43.770181Z",
"url": "https://files.pythonhosted.org/packages/9d/49/ea99796954a8bc71a23e56c79b74d97ea0f7d0bb4d14d0f2a0349b6a11ce/changeloggh-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-14 17:26:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sauljabin",
"github_project": "changeloggh",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "changeloggh"
}