https://github.com/caleb531/bump-anything

A CLI utility that increments the version number for various file formats and project types

https://github.com/caleb531/bump-anything

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary

Keywords

semantic semver version versioning
Last synced: 5 months ago · JSON representation

Repository

A CLI utility that increments the version number for various file formats and project types

Basic Info
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 1
  • Open Issues: 0
  • Releases: 9
Topics
semantic semver version versioning
Created about 7 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

Bump Anything

Copyright 2019-2025 Caleb Evans
Released under the MIT license

tests Coverage Status

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 or pyproject.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.

sh 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.

sh bump major # 1.2.3 -> 2.0.0

sh bump minor # 1.2.3 -> 1.3.0

sh bump patch # 1.2.3 -> 1.2.4

sh bump prerelease # 1.2.3-beta.1 -> 1.2.3-beta.2

sh bump 2.3.4

sh 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.

sh 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).

sh bump --commit-message 'Release v{new_version}' major

sh 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).

sh bump --tag-name 'release/{new_version}' patch

sh 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):

sh bump --no-commit minor

sh 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:

sh bump --no-tag patch

Auto-Detected Files

  • package.json (Node)
  • package-lock.json (Node)
  • setup.py (Python)
  • setup.cfg (Python)
  • pyproject.toml (Python)
  • style.css (WordPress Theme)
  • Cargo.toml (Rust package manifest)
  • <cwd name>.php (WordPress Plugin)

Owner

  • Name: Caleb Evans
  • Login: caleb531
  • Kind: user
  • Location: Carlsbad, CA

Hi, I'm Caleb, a web developer who lives for Christ by building enjoyable apps and useful tools. I hope you are blessed by what I've made!

GitHub Events

Total
  • Release event: 3
  • Issue comment event: 3
  • Push event: 15
  • Pull request review event: 2
  • Pull request event: 4
  • Fork event: 2
  • Create event: 3
Last Year
  • Release event: 3
  • Issue comment event: 3
  • Push event: 15
  • Pull request review event: 2
  • Pull request event: 4
  • Fork event: 2
  • Create event: 3

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 7
  • Average time to close issues: N/A
  • Average time to close pull requests: 10 months
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.29
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 27 minutes
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (6)
  • jpagh (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (6)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 38 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 13
  • Total maintainers: 1
pypi.org: bump-anything

A CLI utility for bumping the version of any file type

  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 38 Last month
Rankings
Dependent packages count: 10.1%
Average: 21.0%
Dependent repos count: 21.6%
Downloads: 31.3%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • Pygments ==2.7.4
  • bleach ==3.1.2
  • certifi ==2018.11.29
  • chardet ==3.0.4
  • docutils ==0.14
  • entrypoints ==0.3
  • flake8 ==3.7.5
  • idna ==2.8
  • mccabe ==0.6.1
  • pkginfo ==1.5.0.1
  • pycodestyle ==2.5.0
  • pyflakes ==2.1.0
  • readme-renderer ==24.0
  • requests ==2.21.0
  • requests-toolbelt ==0.9.1
  • six ==1.12.0
  • tqdm ==4.31.1
  • twine ==1.12.1
  • urllib3 ==1.24.2
  • webencodings ==0.5.1
setup.py pypi
  • semver *