SemVerBump or Semantic Version Bump is a CLI tool that auto-bumps version (with auto git tagging and commit) for your application.
Currently supports
- JSON
Example -
- package.json
{
"version": "0.1.1"
}
Caveat - version attribute should be in an object and not in a list.
- Python 3.9+
pip install semverbump
# version file and path defaults to `package.json` and `version` key
semverbump # <command> major | minor | patch
semverbump major # 1.x.x
semverbump minor # x.1.x
semverbump patch # x.x.1
semverbump --version-file app-version.json --version-path project.version minor
# or shorter version
semverbump -f app-version.json -p project.version minor
// app-version.json
{
"project": {
"name": "SuperApp",
"version": "1.0.2"
}
}
- [✅] SemVer support
- [✅] No additional dependencies (Python Standard Libary only)
- [✅] Tested with JSON based configs, it should work with any JSON file if in the format given above.
- [✅] Auto Git commits and Tags
- [🛠️] Add support for more file formats like YAML and TOML
- [❓] Fully compatible with https://semver.org/ spec
Feel free to fork it, contributions are welcome!
License - MIT
Author - Nikhil Akki
Personal Blog - nikhilakki.in