Skip to main content

Version Bumper

A tool for developers to instantly bump version numbers in project files. It can be used locally or as a GitHub Action.

Features

  • Bump major, minor, or patch versions (semantic versioning)
  • Automatically creates Git tags
  • Creates and updates a changelog file with list of commits since the last git tag
  • Can be used as a GitHub Action or from the command line

Installation

Install the package using pip:

pip install simplebumpversion

Usage

CLI Usage

If you want to bump the version number in setup.py,

# Bump patch version (default)
bump-version setup.py # bumps 1.2.3 -> 1.2.4

# Specific bump types
bump-version setup.py --major # bumps 1.2.3 -> 2.0.0
bump-version setup.py --minor # bumps 1.2.3 -> 1.3.0
bump-version setup.py --patch # bumps 1.2.3 -> 1.2.4

# Pass several files to update
bump-version setup.py README.md --patch

GitHub Action Usage

name: Bump Version

on:
  push:
    branches: [main]

# give permission to write and push commits
permissions:
  contents: write

jobs:
  bump-version:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0  # Required for git versioning

      - name: Bump version
        uses: Ikromov247/bump_version@v2.1.0
        with:
          files: 'package.json' # file containing your package version number
          bump_type: 'patch'  # Options: major, minor, patch, git
          force: true    # Optional: Force version change when current version is a git tag

      - name: Commit changes
        run: |
          git config --local user.email "action@github.com"
          git config --local user.name "GitHub Action"
          git add .
          git commit -m "Bump version"
          git push

Config file

You can also add your configurations in a yaml file instead of passing them as arguments. If you pass both the config file and the arguments, config file takes precedence and cli arguments will be ignored.

Example configuration file:

name: 'Patch bump' # Configuration name
description: 'Bump the patch version in setup.py and README.md' # description

settings:
  bump_type: patch
  files: # list of files to update
    - setup.py
    - README.md
  force: false # Set to true to force version change when current version is a git tag

In cli, pass the path to config file as an argument: bump-version --config config.yml

Or use it in Github Actions workflow file:

- name: Bump version
  uses: Ikromov247/bump_version@v2.1.0
  with:
    config: bump_config.yml

Supported Version Formats

The tool recognizes uses regex to recognize various version patterns:

  • version = "1.2.3"
  • VERSION = "1.2.3"
  • __version__ = "1.2.3"
  • "version": "1.2.3" (for JSON/package.json)

Common errors

  • Invalid version format:

    • Reason: the tool could not find the version number. Your version possibly does not match supported patterns.
  • File or permission errors:

    • Reason: the tool could not open or write to specified files.
    • Solution: check file paths and permissions.
  • Config file is invalid:

    • Reason: your config file does not have required fields.
    • Solution: check the sample config file for reference.
  • Major version bumping is not supported:

    • Reason: Bumping major versions is only possible through cli to prevent accidental major version bumps.
    • Solution: Use cli for major version bumps or set a different bump type
  • Error occured when reading the git tag:

    • Reason: your repo does not have tags.
    • Solution: create a tag.

Contributing

If you want to contribute, start from checking the todo file and the CONTRIBUTING.MD for rules. To suggest new features, create an issue with the tag enhancement.

License

MIT

Metadata

Release files for simplebumpversion 3.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simplebumpversion 3.0.1
File Size Uploaded
simplebumpversion-3.0.1.tar.gz 11.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for simplebumpversion 3.0.1
File Interpreter ABI Platform
simplebumpversion-3.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 23.3 kB

Release files / simplebumpversion-3.0.1.tar.gz

Download URL simplebumpversion-3.0.1.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
775314573fdcc2c62e000ef4848b2c46a86dcd9b484e4306714cb8f8aebfe0e4
BLAKE2b-256 checksum
How to use checksums
5fdc2aac7f7ea7cc0b6340b5ee7f072b80d7ff6b2d68f0d206ccd88bdee1fe3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 9, 2025.

Transparency log

Release files / simplebumpversion-3.0.1-py3-none-any.whl

Download URL simplebumpversion-3.0.1-py3-none-any.whl
Size 11.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a116cffa68dac39cd61cec5a9022e7babdb357ec1f4c929769db22d117e1a0fd
BLAKE2b-256 checksum
How to use checksums
2a81f5dfa626707c2ada27c3ef73d6813d83b9d58d0e3a11e443e8f68a49eee1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 9, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

3.0.1 This release

2 release files

3.0.0

2 release files

2.1.0

2 release files

2.0.5

2 release files

2.0.2

2 release files

2.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page