Minibump
Bump versions in changelogs and pyprojects and be minimalist about it:
- Only supports semnatic versioning.
- Only supports standard tool-independent version fields in
pyproject.toml. - Only supports the Keep a changelog format, in Markdown and with
CHANGELOG.mdas a file name. - Doesn't interact with git at all, either by inferring changelog entries from commits or making commits or tags for you.
- Warns you if you try to set a version that is inconsistent with your changelog entries.
Installation
Installation with pipx is recommended. You might have to install pipx itself first.
pipx install minibump
Usage
Increment one of the semantic versioning segments using bump:
minibump bump [OPTIONS] SEGMENT [PROJECT DIR]
Where
SEGMENTismajor,minor,patchorprereleasePROJECT DIRis an optional path to the root of the Python project to update
This will
- Change the version in
pyproject.tomlin the standardproject.versionfield, incrementing the relevant part. - Make a new release in your changelog (if present) from the content of the Unreleased section, with the appropriate version number, link and date.
- If the segment you were asking to bump is inconsistent with the entries of your changelog, do
nothing and fail (see the
--relax/--strictoption).
Options:
--dry-run: don't modify the files in place and prints the result in the console instead--relax/--strict: in strict mode (default), inconsistencies between changes and version make minibump abort. in relax mode, this will simply result in a warning.
Alternatively you can set a version yourself directly (in that case the default mode is relax) with set:
minibump bump [OPTIONS] VERSION [PROJECT DIR]
Where VERSION is the version to set, which still has to be semver-compatible.
Inspirations and similar tools
Minibump is made to fit my own need as closely as possible. Although I would be glad to make evolve
to also suit other people's needs, you might also want to have a look at
bump2version and the
alternatives they suggest.
As it is, Minibump is mostly a wrapper around semver and keep-a-changelog, with tomlkit as a backend for metadata parsing.
Licence
This software is released under the MIT Licence see LICENCE.md for the details.
Metadata
Release files for minibump 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| minibump-0.0.2.tar.gz | 5.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| minibump-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.3 kB
Release files / minibump-0.0.2.tar.gz
| Download URL | minibump-0.0.2.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1802c9e7f9d1722de302f6f3da34b71919b531693438ea93a58c13eab17eec44
|
|
BLAKE2b-256 checksum How to use checksums |
d9175f4042ccc4077aa5b9a119bd7c6f44674fb815c2d1619e6e0d499052b5c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.13
|
Release files / minibump-0.0.2-py3-none-any.whl
| Download URL | minibump-0.0.2-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
71daca4743ab638b4f3bf9dd4039dde20c6d43ebe82fedf3577a2e7039bf41bf
|
|
BLAKE2b-256 checksum How to use checksums |
844f6083bb5ca8dfa3a836e0209aece5e1c9d17be97bda1a6311aa93b48e31f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.13
|