hatch-regex-commit

This provides a plugin for Hatch that automatically creates a Git commit and tag after version bumping.
Global dependency
Ensure hatch-regex-commit
is defined within the build-system.requires
field in your pyproject.toml
file.
[build-system]
requires = ["hatchling", "hatch-regex-commit"]
build-backend = "hatchling.build"
Version source
The version source plugin name is regex_commit
.
Version source options
This plugin inherits from the Hatch builtin Regex version source. It inherits from all its options and add the following ones:
Option | Type | Default | Description |
---|
check_dirty | bool | true | Check if the Git repository is dirty, e.g., you have uncommited changes. If you have, the version bumping will abort. |
commit | bool | true | Whether to create a Git commit. |
commit_message | str | Bump version {current_version} → {new_version} | Template of the Git commit message. |
commit_extra_args | list[str] | [] | List of extra arguments for Git commit command. |
tag | bool | true | Whether to create a Git tag. |
tag_name | str | v{new_version} | Template for the Git tag name. |
tag_message | str | Bump version {current_version} → {new_version} | Template of the Git tag message. |
tag_sign | bool | true | Whether to sign the Git tag. |
Examples
Basic
[tool.hatch.version]
source = "regex_commit"
path = "my_library/___about___.py"
Custom commit message
[tool.hatch.version]
source = "regex_commit"
path = "my_library/___about___.py"
commit_message = "🚀 Version {new_version}"
Edit commit message in the editor before proceeding
[tool.hatch.version]
source = "regex_commit"
path = "my_library/___about___.py"
commit_extra_args = ["-e"]
Disable Git tag
[tool.hatch.version]
source = "regex_commit"
path = "my_library/___about___.py"
tag = false
License
hatch-regex-commit
is distributed under the terms of the MIT license.