Skip to main content

A version bumping tool

Project description

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

Hyper Bump It

A version bumping tool.

hyper-bump-it's features include:

  • Updating the version to a new fully specified value
  • Increasing the version base 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
  • 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
Create branch bump_version_to_2.3.4
Switch to branch bump_version_to_2.3.4
Updating version in configuration file
Update files
────────────────────────────── example/foo.txt ──────────────────────────────
2: - --1.2.3--abc
2: + --2.3.4--abc
6: - --1.2.3--edf
6: + --2.3.4--edf
────────────────────────────── example/bar.txt ──────────────────────────────
2: - more --1.2.3-- text
2: + more --2.3.4-- text
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
Update 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
Updating version in configuration file
Update files
────────────────────────────── example/foo.txt ──────────────────────────────
2: - --1.2.3--abc
2: + --1.3.0--abc
6: - --1.2.3--edf
6: + --1.3.0--edf
────────────────────────────── example/bar.txt ──────────────────────────────
2: - more --1.2.3-- text
2: + more --1.3.0-- text
Commit changes: Bump version: 1.2.3 → 1.3.0
Tag commit: v1.3.0
Pushing commit with tag v1.3.0
Do you want to perform these actions? [y/n] (n): y
Updating version in configuration file
Update 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 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.3.0.tar.gz (31.9 kB view hashes)

Uploaded Source

Built Distribution

hyper_bump_it-0.3.0-py3-none-any.whl (40.9 kB view hashes)

Uploaded Python 3

Supported by

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