Skip to main content

bumper

PyPI - Python Version PyPI PyPI - License pre-commit.ci status

Automatically increment the project's version number.

Heavily inspired by bump2version and bumpversion. While bump-my-version is an excellent modern fork this functionality, I'd like a pared down version of the offered feature set for my personal projects.

Supported Versioning Schemes

Installation

Install from PyPi with your favorite pip invocation, e.g.:

$ pip install sco1-bumper

You can confirm proper installation via the bumper CLI:

$ bumper --help
Usage: bumper [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  bump  Bump the requested version component.
  init  Generate a default bumper configuration file.

Configuration

bumper searches for its configuration options first in a .bumper.toml file, then in pyproject.toml; preference is given to whichever configuration is located first.

Required Fields

tool.bumper

  • current_version - The current software version. This is automatically incremented when bumping.
  • versioning_type - Versioning type to be used, accepted values are "semver" and "calver"

tool.bumper.files

  • file - Path to target file relative to the repository root
  • search - Replacement string to search for in the target file. Must contain a {current_version} tag if you want something to happen.

Example Configuration

The basic configuration looks something like the following:

SemVer

[tool.bumper]
current_version = "0.1.0"
versioning_type = "semver"

[[tool.bumper.files]]
file = "./pyproject.toml"
search = 'version = "{current_version}"'

CalVer

[tool.bumper]
current_version = "2025.1.0"
versioning_type = "calver"

[[tool.bumper.files]]
file = "./pyproject.toml"
search = 'version = "{current_version}"'

Multiple replacements within the same file can also be specified:

[tool.bumper]
current_version = "0.1.0"
versioning_type = "semver"

[[tool.bumper.files]]
file = "./pyproject.toml"
search = 'version = "{current_version}"'

[[tool.bumper.files]]
file = "./README.md"
search = "sco1-bumper/{current_version}"

[[tool.bumper.files]]
file = "./README.md"
search = "rev: v{current_version}"

CLI

bumper bump

Bump your project's version number using your defined configuration.

NOTE: The check_lock option will be skipped if pyproject.toml and/or uv.lock are not defined.

$ bumper bump --help
Usage: bumper bump [OPTIONS] BUMP_BY:{major|minor|patch|date}

  Bump the requested version component.

  Allowable `BUMP_BY` values differ based on the project's specified
  versioning type: SemVer - (major, minor, patch), CalVer - (date)

  When using CalVer, if the user's current UTC month is the same as the
  current project version, then the Micro component is incremented. Otherwise,
  the date components are bumped to the user's current UTC month and Micro
  reset to `0`.

  If `dry_run` is `True`, the requested diff will be displayed in the terminal
  & no file modifications will take place.

  If `check_lock` is `True`, a helper message is displayed if there is a
  mismatch between the bumped version and the version locked by `uv.lock`.

Arguments:
  BUMP_BY:{major|minor|patch|date}
                                  [required]

Options:
  --dry-run / --no-dry-run        Preview the requested diff.  [default: no-
                                  dry-run]
  --check-lock / --no-check-lock  Check that locked version matches the bumped
                                  ver.  [default: check-lock]
  --help                          Show this message and exit.

bumper init

A small helper to initialize a starter .bumper.toml file that bumps the version field of your project's pyproject.toml file.

NOTE: Be sure to update the sample version with your current version number before bumping with bumper.

$ bumper init --help
Usage: bumper init [OPTIONS]

  Generate a default bumper configuration file.

  If the `--ignore_existing` flag is set, any existing `.bumper.toml` file
  will be overwritten; this action is not reversible. Otherwise, the existing
  configuration will be preserved.

Options:
  --versioning-type [semver|calver]
                                  [default: semver]
  --ignore-existing / --no-ignore-existing
                                  [default: no-ignore-existing]
  --help                          Show this message and exit.

Metadata

Release files for sco1-bumper 2.1.0

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

Source distribution (sdist)

Source distribution for sco1-bumper 2.1.0
File Size Uploaded Provenance Actions
sco1_bumper-2.1.0.tar.gz 8.7 kB With provenance Details for sco1_bumper-2.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for sco1-bumper 2.1.0
File Interpreter ABI Platform Actions
sco1_bumper-2.1.0-py3-none-any.whl Python 3 none any Details for sco1_bumper-2.1.0-py3-none-any.whl

Total release size: 19.1 kB

Release files / sco1_bumper-2.1.0.tar.gz

Download URL sco1_bumper-2.1.0.tar.gz
Size 8.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3df79e8be572c5bb42e477d0bd5077282d8574a4b89c04f2ac90968861c8f3bf
BLAKE2b-256 checksum
How to use checksums
196aafb50b27e6d52470e2738593efc4438aa341768484db0b3521a4cf8883aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 15, 2026.

Transparency log

Release files / sco1_bumper-2.1.0-py3-none-any.whl

Download URL sco1_bumper-2.1.0-py3-none-any.whl
Size 10.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d0508a48338f3d4dc258c34671071f70ef6dc1a68bf680ebebf4c9fd77787d54
BLAKE2b-256 checksum
How to use checksums
d722f3beadb27613b4a22d9588cc2252ff6566a58f8e858f1014898e0af6d460
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 15, 2026.

Transparency log

Security for sco1-bumper 2.1.0

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for sco1_bumper-2.1.0.tar.gz

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 Oct 15, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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