Skip to main content

A version bumping tool

Project description

CI pipeline status PyPI PyPI - Python Version codecov Checked with mypy Code style: black OpenSSF Scorecard

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hyper_bump_it-0.5.3.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

hyper_bump_it-0.5.3-py3-none-any.whl (46.5 kB view details)

Uploaded Python 3

File details

Details for the file hyper_bump_it-0.5.3.tar.gz.

File metadata

  • Download URL: hyper_bump_it-0.5.3.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for hyper_bump_it-0.5.3.tar.gz
Algorithm Hash digest
SHA256 a56a8c766af3b6ab219b5e3daa18b117cfd87c1e0583f682b9f24c09ba6d8afe
MD5 d567a90e6d154a30e9002f7f5bae5cc1
BLAKE2b-256 c0bef0a4f90251ebae1708e06d91e067fffc7261b38f812e1468559d9b7638cd

See more details on using hashes here.

File details

Details for the file hyper_bump_it-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: hyper_bump_it-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 46.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for hyper_bump_it-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 232dbafdf9bd2c7dce6ace4de6fe329bfcea350fb35cb6c3d53e84dd9e4011ba
MD5 0eb8a6986109957c809fa377c3c5a959
BLAKE2b-256 d99b5b8438ef2e72a6190b8fc41e2e3ee8c7e7dadfb95b764ff8c89aac946d5e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page