Name | changelog-genie JSON |
Version |
0.2.0
JSON |
| download |
home_page | |
Summary | Generate changelogs for GitHub projects efficiently |
upload_time | 2023-03-13 14:27:19 |
maintainer | |
docs_url | None |
author | Andy Grove |
requires_python | >=3.7,<4.0 |
license | |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Changelog Genie
![](changelog-genie.png)
Image Credit: DALL-E
## Overview
Changelog Genie is a simple and pragmatic changelog generator, implemented in Python, that utilizes the GitHub
REST API to produce changelog content very efficiently, avoiding GitHub API rate limits. It was built out of necessity
as a replacement for [github-changelog-generator](https://github.com/github-changelog-generator/github-changelog-generator),
which served well for many Apache Arrow projects for a long time but eventually became unworkable as the number of
issues and pull requests continued to grow.
Roadmap/Status:
- [x] Basic functionality in place
- [ ] Make sections and labels configurable
- [ ] Support reading [github-changelog-generator](https://github.com/github-changelog-generator/github-changelog-generator) configuration files
- [ ] Write the content into an existing changelog file
## Installation
```pip3 install changelog-genie```
## Usage
```text
$ changelog_genie --help
usage: cli.py [-h] project tag1 tag2
positional arguments:
project The project name e.g. apache/arrow-datafusion
tag1 The previous release tag
tag2 The current release tag
options:
-h, --help show this help message and exit
```
There is currently a two-step process for generating a changelog. This will be improved in a future release.
### Step 1: Generate Partial Changelog
Run the ChangeLog Genie script to fetch the commits between two tags from GitHub and produce the changelog
content. Providing a GitHub token is necessary to achieve a higher rate limit for interaction with the GitHub REST API.
```shell
GITHUB_TOKEN=<token> changelog_genie andygrove/changelog-genie 0.1.0 0.2.0 > changelog-0.2.0.md
```
### Step 2: Copy and paste into existing changelog
This will be automated in a future release.
## Contributing
```shell
python3 -m venv venv
# activate the venv
source venv/bin/activate
# update pip itself if necessary
python -m pip install -U pip
# install dependencies (for Python 3.8+)
python -m pip install -r requirements.in
Poetry
```shell
sudo apt install python3-poetry
```
Testing
```shell
poetry build
poetry install
```
Raw data
{
"_id": null,
"home_page": "",
"name": "changelog-genie",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Andy Grove",
"author_email": "andygrove73@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/46/fd/daa7da3502a3b99d42147d98b2b2e56a3c36e4a27e84d72a64805e142543/changelog-genie-0.2.0.tar.gz",
"platform": null,
"description": "# Changelog Genie\n\n![](changelog-genie.png)\n\nImage Credit: DALL-E\n\n## Overview\n\nChangelog Genie is a simple and pragmatic changelog generator, implemented in Python, that utilizes the GitHub \nREST API to produce changelog content very efficiently, avoiding GitHub API rate limits. It was built out of necessity \nas a replacement for [github-changelog-generator](https://github.com/github-changelog-generator/github-changelog-generator),\nwhich served well for many Apache Arrow projects for a long time but eventually became unworkable as the number of \nissues and pull requests continued to grow.\n\nRoadmap/Status:\n\n- [x] Basic functionality in place\n- [ ] Make sections and labels configurable\n- [ ] Support reading [github-changelog-generator](https://github.com/github-changelog-generator/github-changelog-generator) configuration files\n- [ ] Write the content into an existing changelog file\n\n## Installation\n\n```pip3 install changelog-genie```\n\n## Usage\n\n```text\n$ changelog_genie --help\nusage: cli.py [-h] project tag1 tag2\n\npositional arguments:\n project The project name e.g. apache/arrow-datafusion\n tag1 The previous release tag\n tag2 The current release tag\n\noptions:\n -h, --help show this help message and exit\n\n```\n\nThere is currently a two-step process for generating a changelog. This will be improved in a future release.\n\n### Step 1: Generate Partial Changelog \n\nRun the ChangeLog Genie script to fetch the commits between two tags from GitHub and produce the changelog \ncontent. Providing a GitHub token is necessary to achieve a higher rate limit for interaction with the GitHub REST API. \n\n```shell\nGITHUB_TOKEN=<token> changelog_genie andygrove/changelog-genie 0.1.0 0.2.0 > changelog-0.2.0.md\n```\n\n### Step 2: Copy and paste into existing changelog\n\nThis will be automated in a future release.\n\n## Contributing\n\n```shell\npython3 -m venv venv\n# activate the venv\nsource venv/bin/activate\n# update pip itself if necessary\npython -m pip install -U pip\n# install dependencies (for Python 3.8+)\npython -m pip install -r requirements.in\n\nPoetry\n\n```shell\nsudo apt install python3-poetry\n```\n\nTesting\n\n```shell\npoetry build\npoetry install\n```\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Generate changelogs for GitHub projects efficiently",
"version": "0.2.0",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e2ee18dbeaba032f3f398b2eeb2d9fc8a2915c7c64dfa238647dd84f70f51c5d",
"md5": "fb206323dbaab52bc8e1f8e47386ea94",
"sha256": "8b16071ec9939989183012b987d8595c339ee5d5528a9dae09d3dca820ea8537"
},
"downloads": -1,
"filename": "changelog_genie-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fb206323dbaab52bc8e1f8e47386ea94",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4.0",
"size": 4403,
"upload_time": "2023-03-13T14:27:21",
"upload_time_iso_8601": "2023-03-13T14:27:21.271189Z",
"url": "https://files.pythonhosted.org/packages/e2/ee/18dbeaba032f3f398b2eeb2d9fc8a2915c7c64dfa238647dd84f70f51c5d/changelog_genie-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "46fddaa7da3502a3b99d42147d98b2b2e56a3c36e4a27e84d72a64805e142543",
"md5": "68e17d7bd7d10175fb400cb841dac46f",
"sha256": "94a298eaed13eaf3826d240acfbddf20891696c4fad4bb767728b91c591cb849"
},
"downloads": -1,
"filename": "changelog-genie-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "68e17d7bd7d10175fb400cb841dac46f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4.0",
"size": 3971,
"upload_time": "2023-03-13T14:27:19",
"upload_time_iso_8601": "2023-03-13T14:27:19.103362Z",
"url": "https://files.pythonhosted.org/packages/46/fd/daa7da3502a3b99d42147d98b2b2e56a3c36e4a27e84d72a64805e142543/changelog-genie-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-13 14:27:19",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "changelog-genie"
}