hyper-bump-it


Namehyper-bump-it JSON
Version 0.5.3 PyPI version JSON
download
home_pageNone
SummaryA version bumping tool
upload_time2024-04-12 14:37:25
maintainerNone
docs_urlNone
authorNone
requires_python<4.0,>=3.9
licenseMIT
keywords bump command line version
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![CI pipeline status](https://github.com/plannigan/hyper-bump-it/actions/workflows/main.yml/badge.svg?branch=main)][ci]
[![PyPI](https://img.shields.io/pypi/v/hyper-bump-it)][pypi]
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/hyper-bump-it)][pypi]
[![codecov](https://codecov.io/gh/plannigan/hyper-bump-it/branch/main/graph/badge.svg?token=V4DADJU0BI)][codecov]
[![Checked with mypy](https://img.shields.io/badge/mypy-checked-blue)][mypy-home]
[![Code style: black](https://img.shields.io/badge/code%20style-black-black.svg)][black-home]
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/plannigan/hyper-bump-it/badge)][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

```commandline
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

```commandline
$ 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
```

[ci]: https://github.com/plannigan/hyper-bump-it/actions
[pypi]: https://pypi.org/project/hyper-bump-it/
[codecov]: https://codecov.io/gh/plannigan/hyper-bump-it
[mypy-home]: http://mypy-lang.org/
[black-home]: https://github.com/psf/black
[scorecard]: https://securityscorecards.dev/viewer/?uri=github.com/plannigan/hyper-bump-it

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "hyper-bump-it",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "bump, command line, version",
    "author": null,
    "author_email": "Patrick Lannigan <p.lannigan@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/c0/be/f0a4f90251ebae1708e06d91e067fffc7261b38f812e1468559d9b7638cd/hyper_bump_it-0.5.3.tar.gz",
    "platform": null,
    "description": "[![CI pipeline status](https://github.com/plannigan/hyper-bump-it/actions/workflows/main.yml/badge.svg?branch=main)][ci]\n[![PyPI](https://img.shields.io/pypi/v/hyper-bump-it)][pypi]\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/hyper-bump-it)][pypi]\n[![codecov](https://codecov.io/gh/plannigan/hyper-bump-it/branch/main/graph/badge.svg?token=V4DADJU0BI)][codecov]\n[![Checked with mypy](https://img.shields.io/badge/mypy-checked-blue)][mypy-home]\n[![Code style: black](https://img.shields.io/badge/code%20style-black-black.svg)][black-home]\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/plannigan/hyper-bump-it/badge)][scorecard]\n\n# Hyper Bump It\n\nA command line tool for updating the version in project files needed for the next release.\n\n`hyper-bump-it`'s features include:\n\n* Updating the version to a new fully specified value\n* Increasing the version based on a specific version part\n* Optional Git integrations:\n    * Commit changes\n    * Create a new branch or tag\n    * Push changes to a remote repository\n* Customizable search and replacement patterns\n    * Match based on the current version or arbitrary dates\n* Safe by default, but can be overridden:\n    * Request confirmation before editing files\n    * Explicit configuration need to push changes\n    * Won't run if the current branch is not the default\n    * Won't run if there are unstaged changes\n* TOML configuration file (can be part of `pyproject.toml`)\n\n## Examples\n\nThis first example\n\n* Updates to an explicit new version\n* Updates multiple files that had lines matching the search pattern\n* Commits those changes to a newly created branch\n\n```commandline\nhyper-bump-it to 2.3.4\nExecution Plan:\nCreate branch bump_version_to_2.3.4\nSwitch to branch bump_version_to_2.3.4\nUpdate version in configuration file\nUpdate files\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 example/foo.txt \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n--- example/foo.txt\n+++ example/foo.txt\n@@ -1,3 +1,3 @@\n hello\n---1.2.3--abc\n+--2.3.4--abc\n world\n\n Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod.\n---1.2.3--edf\n+--2.3.4--edf\n Ut enim ad minim veniam, quis nostrum exercitationem ullam corporis.\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 example/bar.txt \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n--- example/bar.txt\n+++ example/bar.txt\n@@ -1,3 +1,3 @@\n hello\n-more --1.2.3-- text\n+more --2.3.4-- text\n world\n\nCommit changes: Bump version: 1.2.3 \u2192 2.3.4\nSwitch to branch main\n\nDo you want to perform these actions? [y/n] (n): y\nCreating branch bump_version_to_2.3.4\nSwitching to branch bump_version_to_2.3.4\nUpdating version in configuration file\nUpdating files\nUpdating example/foo.txt\nUpdating example/bar.txt\nCommitting changes: Bump version: 1.2.3 \u2192 2.3.4\nSwitching to branch main\n```\n\nThis second example\n\n* Updates to the next minor version\n* Updates multiple files that had lines matching the search pattern\n* Commits those changes, tags the new commit, and pushes the changes to the remote repository\n\n```commandline\n$ hyper-bump-it by minor\nExecution Plan:\nUpdate version in configuration file\nUpdate files\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 example/foo.txt \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n--- example/foo.txt\n+++ example/foo.txt\n@@ -1,7 +1,7 @@\n hello\n---1.2.3--abc\n+--1.3.0--abc\n world\n \n Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod.\n---1.2.3--edf\n+--1.3.0--edf\n Ut enim ad minim veniam, quis nostrum exercitationem ullam corporis.\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 example/bar.txt \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n--- example/bar.txt\n+++ example/bar.txt\n@@ -1,3 +1,3 @@\n hello\n-more --1.2.3-- text\n+more --1.3.0-- text\n world\n\nCommit changes: Bump version: 1.2.3 \u2192 1.3.0\nTag commit: v1.3.0\nPush commit to origin with tag v1.3.0\n\nDo you want to perform these actions? [y/n] (n): y\nUpdating version in configuration file\nUpdating files\nUpdating example/foo.txt\nUpdating example/bar.txt\nCommitting changes: Bump version: 1.2.3 \u2192 1.3.0\nTagging commit: v1.3.0\nPushing commit to origin with tag v1.3.0\n```\n\n[ci]: https://github.com/plannigan/hyper-bump-it/actions\n[pypi]: https://pypi.org/project/hyper-bump-it/\n[codecov]: https://codecov.io/gh/plannigan/hyper-bump-it\n[mypy-home]: http://mypy-lang.org/\n[black-home]: https://github.com/psf/black\n[scorecard]: https://securityscorecards.dev/viewer/?uri=github.com/plannigan/hyper-bump-it\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A version bumping tool",
    "version": "0.5.3",
    "project_urls": {
        "changelog": "https://github.com/plannigan/hyper-bump-it/blob/main/CHANGELOG.md",
        "documentation": "https://plannigan.github.io/hyper-bump-it",
        "homepage": "https://github.com/plannigan/hyper-bump-it",
        "issues": "https://github.com/plannigan/hyper-bump-it/issues"
    },
    "split_keywords": [
        "bump",
        " command line",
        " version"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d99b5b8438ef2e72a6190b8fc41e2e3ee8c7e7dadfb95b764ff8c89aac946d5e",
                "md5": "0eb8a6986109957c809fa377c3c5a959",
                "sha256": "232dbafdf9bd2c7dce6ace4de6fe329bfcea350fb35cb6c3d53e84dd9e4011ba"
            },
            "downloads": -1,
            "filename": "hyper_bump_it-0.5.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0eb8a6986109957c809fa377c3c5a959",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 46494,
            "upload_time": "2024-04-12T14:37:24",
            "upload_time_iso_8601": "2024-04-12T14:37:24.230725Z",
            "url": "https://files.pythonhosted.org/packages/d9/9b/5b8438ef2e72a6190b8fc41e2e3ee8c7e7dadfb95b764ff8c89aac946d5e/hyper_bump_it-0.5.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c0bef0a4f90251ebae1708e06d91e067fffc7261b38f812e1468559d9b7638cd",
                "md5": "d567a90e6d154a30e9002f7f5bae5cc1",
                "sha256": "a56a8c766af3b6ab219b5e3daa18b117cfd87c1e0583f682b9f24c09ba6d8afe"
            },
            "downloads": -1,
            "filename": "hyper_bump_it-0.5.3.tar.gz",
            "has_sig": false,
            "md5_digest": "d567a90e6d154a30e9002f7f5bae5cc1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 34722,
            "upload_time": "2024-04-12T14:37:25",
            "upload_time_iso_8601": "2024-04-12T14:37:25.404929Z",
            "url": "https://files.pythonhosted.org/packages/c0/be/f0a4f90251ebae1708e06d91e067fffc7261b38f812e1468559d9b7638cd/hyper_bump_it-0.5.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-12 14:37:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "plannigan",
    "github_project": "hyper-bump-it",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "hyper-bump-it"
}
        
Elapsed time: 0.39754s