A CLI utility for bumping the version of any file type
Project description
Bump Anything
Copyright 2019-2023 Caleb Evans
Released under the MIT license
Bump Anything is a command-line utility for incrementing the version It serves
as a more-flexible alternative to npm version
and similar tools because
Bump Anything can handle any arbitrary text file and has built-in support for
different types of projects.
Features
- Bump the version number in any arbitrary file
- Supports most project types (if no paths are supplied, automatically detects
package.json
in Node,setup.py
orpyproject.toml
in Python,style.css
for WordPress themes, etc.)
Installation
Bump Anything requires Python 3.9 or newer to run, so please ensure you have it installed.
pip3 install bump-anything
Usage
Bump Anything exposes to your shell a bump-anything
command (also aliased to
bump
). The only required argument is a keyword indicating how you want to
increment each version. It can be either major
, minor
, or patch
.
bump major # 1.2.3 -> 2.0.0
bump minor # 1.2.3 -> 1.3.0
bump patch # 1.2.3 -> 1.2.4
bump prerelease # 1.2.3-beta.1 -> 1.2.3-beta.2
bump 2.3.4
bump v2.3.4 # same as `bump 2.3.4`
With this syntax, Bump Anything will do its best to find the relevant files to bump. However, Bump Anything can also accept an optional list of one or more file paths whose versions to bump. Only the first occurrence of the version field in each file will be updated.
bump minor subdir/myfile1.json subdir/myfile2.toml
Git Integration
The bump
command will automatically create a tagged commit if the current
directory is a Git repository. Only the files that have been modified by bump
will be staged.
Custom commit message
You can explicitly specify the commit message with --commit-message
or -m
.
The default is Prepare v<new_version> release
. You can use the {new_version}
placeholder to represent the new version (without any prefix).
bump --commit-message 'Release v{new_version}' major
bump -m 'Release v{new_version}' major
Custom tag name
You can explicitly specify the tag name with --tag-name
or -t
(default:
v<new_version>
). You can use the {new_version}
placeholder to represent the
new version (without any prefix).
bump --tag-name 'release/{new_version}' patch
bump -t 'release/{new_version}' patch
Disabling committing and/or tagging
If you do not wish for bump
to automatically create a commit and tag, you can
pass the --no-commit
flag (alias: -n
):
bump --no-commit minor
bump -n minor
Disabling tagging only
If you wish to disable the automatic tag creation but still create a commit, you
can pass the --no-tag
flag:
bump --no-tag patch
Auto-Detected Files
package.json
(Node)package-lock.json
(Node)setup.py
(Python)pyproject.toml
(Python)style.css
(WordPress Theme)<cwd name>.php
(WordPress Plugin)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file bump-anything-2.0.0.tar.gz
.
File metadata
- Download URL: bump-anything-2.0.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54faa520370dcbea74fbee4e3927c4f10270c99d9ff31793a981bfcd6f4d5d30 |
|
MD5 | a24eda7624e32f5f8e828b25a51e0c1c |
|
BLAKE2b-256 | 70d3290195033d0221694e9ee39b6fca76df76226c43f77cdee8733b2870b491 |
File details
Details for the file bump_anything-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: bump_anything-2.0.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0266a466bd20aafc078189044d8c54b9682557276334945c2a8ae7d02bf7c852 |
|
MD5 | 25e4c051df4ce53d3246ef1c873f9375 |
|
BLAKE2b-256 | c34934540ea56dbf4ecd5ecc3f75e6f37eb45f24443e4c28af978baedfdff721 |