Yet another commandline changelog tool
- Python 100%
|
All checks were successful
build / Test on Python 3.11 (push) Successful in 53s
build / Test on Python 3.12 (push) Successful in 48s
build / Test on Python 3.14 (push) Successful in 45s
build / Test on Python 3.13 (push) Successful in 47s
build / Test on Python 3.10 (push) Successful in 1m0s
build / Test action (push) Successful in 1m1s
build / Build and Publish (push) Successful in 58s
|
||
|---|---|---|
| .forgejo/workflows | ||
| docs | ||
| tests | ||
| yaclog | ||
| .gitignore | ||
| action.yaml | ||
| CHANGELOG.md | ||
| LICENSE.md | ||
| logo.png | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Yaclog: Yet Another Commandline Changelog Tool
Yaclog is a python library and command line tool to make it easier to keep track of changes to your projects. It includes commands for appending new changes to a markdown changelog file, as well as releasing new versions for deployment via git tags.
Logo by Erin Cassidy
Installation
Install and update with pip:
$ pip install -U yaclog
Or with uv:
$ uv tool install yaclog
Usage
For usage from the command line, yaclog provides the yaclog command:
Usage: yaclog [OPTIONS] COMMAND [ARGS]...
Manipulate markdown changelog files.
Options:
--path FILE Location of the changelog file. [default: CHANGELOG.md]
--version Show the version and exit.
--help Show this message and exit.
Commands:
entry Add entries to the changelog.
format Reformat the changelog file.
init Create a new changelog file.
release Release versions.
show Show changes from the changelog file
tag Modify version tags
Example workflow
Create a new changelog:
$ yaclog init
Add some new entries to the current unreleased version:
$ yaclog entry -b 'Introduced some more bugs'
$ yaclog entry -b 'Introduced some more features'
Show the current version:
$ yaclog show
Unreleased
- Introduced some more bugs
- Introduced some more features
Release the current version and make a git tag for it
$ yaclog release 0.0.1 -c
Renamed version "Unreleased" to "0.0.1".
Commit and create tag for version 0.0.1? [y/N]: y
Created commit a7b6789
Created tag "0.0.1".
