https://github.com/thevickypedia/gitverse
Generate a well formatted RST/MarkDown file from git releases or commit messages
https://github.com/thevickypedia/gitverse
commit-message-formatter gitverse release-notes-generateor
Last synced: 3 months ago
JSON representation
Generate a well formatted RST/MarkDown file from git releases or commit messages
- Host: GitHub
- URL: https://github.com/thevickypedia/gitverse
- Owner: thevickypedia
- License: mit
- Created: 2021-08-30T23:52:51.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-10-13T21:28:10.000Z (6 months ago)
- Last Synced: 2025-12-03T19:51:05.880Z (4 months ago)
- Topics: commit-message-formatter, gitverse, release-notes-generateor
- Language: Python
- Homepage: https://pypi.org/project/gitverse/
- Size: 332 KB
- Stars: 3
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.rst
- License: LICENSE
Awesome Lists containing this project
README
[](https://pypi.org/project/gitverse)

[](https://github.com/thevickypedia/gitverse/actions/workflows/pages/pages-build-deployment)
[](https://github.com/thevickypedia/gitverse/actions/workflows/python-publish.yml)
[](https://pypi.org/project/gitverse/#files)
[](https://pypi.org/project/gitverse)

[](https://api.github.com/repos/thevickypedia/gitverse)
[](https://api.github.com/repos/thevickypedia/gitverse)
[](https://api.github.com/repos/thevickypedia/gitverse)
# GitVerse
Get GitHub's release notes or commit history and format it into `reStructuredText`/`Markdown` documents.
### Installation
```shell
pip install gitverse
```
### Usage
#### Release Notes (Tags)
Generate release notes from releases tagged in GitHub
```shell
gitverse-release
```
> Tries to get release notes, using GitHub API
> If failed, uses the commit message as notes for the associated release
> This feature optionally takes `GIT_TOKEN` as an environment variable if it is generated for a personal repo
Known issue related to the order of release notes
- There is a known issue with GitHub where the `git tag` command returns incorrect timestamp _(when tags are created in different timezones)_
- If the release notes are not generated in the expected order, please run the following command to verify
```shell
git for-each-ref --sort='-creatordate' --format '%(refname:short) %(creatordate:iso8601)' refs/tags
```
- If the output is in expected order, please raise an [issue](https://github.com/thevickypedia/gitverse/issues/new)
---
#### Commit History
Generate commit history from git log
```shell
gitverse-commit
```
---
#### Options
- `debug` - Enable debug mode for logging.
- `reverse` - Generate commit history/release notes in reverse order.
#### Flags
- `-b` Gather commit notes specific to a branch. Uses `Default branch` if not passed. (Only for `gitverse-commit`)
- `-f` Write the commit notes to a custom filename.
- `-t` Title or index line for the file generated.
#### Sample
[release_notes.rst][release_notes]
[changelog.rst][changelog]
### Linting
`PreCommit` will ensure linting, and the doc creation are run on every commit.
**Requirement**
```shell
pip install sphinx==5.1.1 pre-commit==2.20.0 recommonmark==0.7.1
```
**Usage**
```shell
pre-commit run --all-files
```
## Pypi Package
[](https://packaging.python.org/tutorials/packaging-projects/)
[https://pypi.org/project/gitverse/][pypi]
### Runbook
[](https://www.sphinx-doc.org/en/master/man/sphinx-autogen.html)
[https://thevickypedia.github.io/gitverse/][runbook]
## License & copyright
© Vignesh Rao, GitVerse
Licensed under the [MIT License][license]
[release_notes]: https://github.com/thevickypedia/gitverse/blob/main/release_notes.rst
[changelog]: https://github.com/thevickypedia/gitverse/blob/main/changelog.rst
[runbook]: https://thevickypedia.github.io/gitverse/
[license]: https://github.com/thevickypedia/gitverse/blob/master/LICENSE
[pypi]: https://pypi.org/project/gitverse/