Skip to main content

logo

verbm

mypy test codecov python3.9 pypi downloads

Language agnostic VERsion BuMp tool that simplifies routine version management. Its capabilities include:

  • set version, up or down specific version component
  • modify the version in the source code, make a commit, and create a tag
  • analyze git history to automatically determine which component to increment
  • support monorepos, you can manage a few versions in one repo
  • support squash commits
  • be easily customized to fit your needs!

It similar to bumpr, tbump or bump2version but it automates most of the work.

Installation

Make sure Python 3.9 or later, along with pip or pipx, is installed.

pipx install verbm

Usage

To begin, you need a configuration file. You can use verbm to generate a well documented default configuration file by running the following command:

cd /path/to/project

verbm init

It will attempt to retrieve the current version from the latest git tag, as well as the user's name and email. If these attempts are unsuccessful, it will use default placeholders instead. The current version.yml in the project is an ideal example of a default configuration file.

The basic commands are get and set:

verbm get

verbm set 0.1.3-rc

It's possible to ensure version consistency across all source files:

verbm validate --file /path/to/version.yml

Most commands support the --file option and can be executed from a different directory.

You can increment or decrement a specific component of the semantic versioning by:

verbm up patch
verbm down minor

However, the most intriguing option is to analyze the output of git log and decide which component to increment. With the following options it updates source files, creates a commit and tag, and pushes these changes to the repository with a single command:

verbm up auto --commit --tag --push

Verbm follows the conventional commit style but is slightly relaxed by default. It checks both the commit message and the description. This enables the analysis of GitHub and GitLab squash commits, which gather all commits in the description each beginning with an * asterisk symbol.

Commit tags for specific version components can be easily customized in the configuration file using regular expressions.

If your project includes multiple subprojects and you want to use separate version.yml files, it can become challenging due to the git log containing commits that affect multiple subprojects simultaneously. To address this, use the --filter argument.

verbm up auto --filter '/src/subproject/.*' '/src/common/.*'

And files that have been changed but do not match the specified regex will be excluded from the log.

Metadata

Release files for verbm 1.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 verbm 1.0.1
File Size Uploaded
verbm-1.0.1.tar.gz 127.7 kB Details

Built distribution (wheel)

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

Total release size: 145.0 kB

Release files / verbm-1.0.1.tar.gz

Download URL verbm-1.0.1.tar.gz
Size 127.7 kB
Tags Source
SHA-256 checksum
How to use checksums
aef5ee106ee88cff3cac3833d303e84780b1b266137e42125f2c7b2b37d328f7
BLAKE2b-256 checksum
How to use checksums
24a1ccc551666740f4c189956d0aed41f3e8b4b1018ebbf0f372e0cb06e87cfa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 21, 2026.

Transparency log

Release files / verbm-1.0.1-py3-none-any.whl

Download URL verbm-1.0.1-py3-none-any.whl
Size 17.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
efc1c7dcea5808975419bc19c1b4f9e33efdcc27bafb4636a4394b92491f6c73
BLAKE2b-256 checksum
How to use checksums
033d1a8aa4bc831d17e637d9553a1a88df1f791f9b550f92e5b7071972d55f8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.1.0

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