# 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
Install with pip:
```sh
pip install changeloggh
```
Upgrade with pip:
```sh
pip install --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
pip 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 a 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": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "changelog,changeloggh",
"author": "Sa\u00fal Pi\u00f1a",
"author_email": "sauljabin@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/e3/f3/9bdc14faf8e824d215353f82c0a82b1e9390f7b7414da2d12419209ac4d0/changeloggh-1.0.5.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\nInstall with pip:\n```sh\npip install changeloggh\n```\n\nUpgrade with pip:\n```sh\npip install --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\npip 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 a 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.0.5",
"project_urls": {
"Homepage": "https://github.com/sauljabin/changeloggh",
"Repository": "https://github.com/sauljabin/changeloggh"
},
"split_keywords": [
"changelog",
"changeloggh"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6b2ffadc808f5e57623bf7f39e2c912d34edc317ca2db79ba612e5a00834f7b8",
"md5": "20f2fc84350c88947bd0ca1cc57050e8",
"sha256": "a9681709e0153c0c0bea9861512743752eaeb6f615fe1ce082d66f5fc1d75f61"
},
"downloads": -1,
"filename": "changeloggh-1.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "20f2fc84350c88947bd0ca1cc57050e8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 9613,
"upload_time": "2023-11-12T22:09:52",
"upload_time_iso_8601": "2023-11-12T22:09:52.706496Z",
"url": "https://files.pythonhosted.org/packages/6b/2f/fadc808f5e57623bf7f39e2c912d34edc317ca2db79ba612e5a00834f7b8/changeloggh-1.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e3f39bdc14faf8e824d215353f82c0a82b1e9390f7b7414da2d12419209ac4d0",
"md5": "dff144b4554e60c7ee458ce1c14ef255",
"sha256": "1d753a61a8cf1499da96a1b46409c7f9d69f16bcfa86fc42ad75476762622ffd"
},
"downloads": -1,
"filename": "changeloggh-1.0.5.tar.gz",
"has_sig": false,
"md5_digest": "dff144b4554e60c7ee458ce1c14ef255",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 8343,
"upload_time": "2023-11-12T22:09:54",
"upload_time_iso_8601": "2023-11-12T22:09:54.052806Z",
"url": "https://files.pythonhosted.org/packages/e3/f3/9bdc14faf8e824d215353f82c0a82b1e9390f7b7414da2d12419209ac4d0/changeloggh-1.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-12 22:09:54",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sauljabin",
"github_project": "changeloggh",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "changeloggh"
}