Hyper Bump It
A command line tool for updating the version in project files needed for the next release.
hyper-bump-it's features include:
- Updating the version to a new fully specified value
- Increasing the version based on a specific version part
- Optional Git integrations:
- Commit changes
- Create a new branch or tag
- Push changes to a remote repository
- Customizable search and replacement patterns
- Match based on the current version or arbitrary dates
- Safe by default, but can be overridden:
- Request confirmation before editing files
- Explicit configuration need to push changes
- Won't run if the current branch is not the default
- Won't run if there are unstaged changes
- TOML configuration file (can be part of
pyproject.toml)
Examples
This first example
- Updates to an explicit new version
- Updates multiple files that had lines matching the search pattern
- Commits those changes to a newly created branch
hyper-bump-it to 2.3.4
Execution Plan:
Create branch bump_version_to_2.3.4
Switch to branch bump_version_to_2.3.4
Update version in configuration file
Update files
────────────────────────────── example/foo.txt ──────────────────────────────
--- example/foo.txt
+++ example/foo.txt
@@ -1,3 +1,3 @@
hello
---1.2.3--abc
+--2.3.4--abc
world
Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod.
---1.2.3--edf
+--2.3.4--edf
Ut enim ad minim veniam, quis nostrum exercitationem ullam corporis.
────────────────────────────── example/bar.txt ──────────────────────────────
--- example/bar.txt
+++ example/bar.txt
@@ -1,3 +1,3 @@
hello
-more --1.2.3-- text
+more --2.3.4-- text
world
Commit changes: Bump version: 1.2.3 → 2.3.4
Switch to branch main
Do you want to perform these actions? [y/n] (n): y
Creating branch bump_version_to_2.3.4
Switching to branch bump_version_to_2.3.4
Updating version in configuration file
Updating files
Updating example/foo.txt
Updating example/bar.txt
Committing changes: Bump version: 1.2.3 → 2.3.4
Switching to branch main
This second example
- Updates to the next minor version
- Updates multiple files that had lines matching the search pattern
- Commits those changes, tags the new commit, and pushes the changes to the remote repository
$ hyper-bump-it by minor
Execution Plan:
Update version in configuration file
Update files
────────────────────────────── example/foo.txt ──────────────────────────────
--- example/foo.txt
+++ example/foo.txt
@@ -1,7 +1,7 @@
hello
---1.2.3--abc
+--1.3.0--abc
world
Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod.
---1.2.3--edf
+--1.3.0--edf
Ut enim ad minim veniam, quis nostrum exercitationem ullam corporis.
────────────────────────────── example/bar.txt ──────────────────────────────
--- example/bar.txt
+++ example/bar.txt
@@ -1,3 +1,3 @@
hello
-more --1.2.3-- text
+more --1.3.0-- text
world
Commit changes: Bump version: 1.2.3 → 1.3.0
Tag commit: v1.3.0
Push commit to origin with tag v1.3.0
Do you want to perform these actions? [y/n] (n): y
Updating version in configuration file
Updating files
Updating example/foo.txt
Updating example/bar.txt
Committing changes: Bump version: 1.2.3 → 1.3.0
Tagging commit: v1.3.0
Pushing commit to origin with tag v1.3.0
Metadata
Release files for hyper-bump-it 0.5.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hyper_bump_it-0.5.3.tar.gz | 34.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hyper_bump_it-0.5.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 81.2 kB
Release files / hyper_bump_it-0.5.3.tar.gz
| Download URL | hyper_bump_it-0.5.3.tar.gz |
|---|---|
| Size | 34.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a56a8c766af3b6ab219b5e3daa18b117cfd87c1e0583f682b9f24c09ba6d8afe
|
|
BLAKE2b-256 checksum How to use checksums |
c0bef0a4f90251ebae1708e06d91e067fffc7261b38f812e1468559d9b7638cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / hyper_bump_it-0.5.3-py3-none-any.whl
| Download URL | hyper_bump_it-0.5.3-py3-none-any.whl |
|---|---|
| Size | 46.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
232dbafdf9bd2c7dce6ace4de6fe329bfcea350fb35cb6c3d53e84dd9e4011ba
|
|
BLAKE2b-256 checksum How to use checksums |
d99b5b8438ef2e72a6190b8fc41e2e3ee8c7e7dadfb95b764ff8c89aac946d5e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|