Skip to main content

Bump versions in changelogs and pyprojects

Project description

Minibump

Latest PyPI version Build Status Code style: black

Bump versions in changelogs and pyprojects and be minimalist about it:

  • Only supports semnatic versioning.
  • Only supports standard tool-independent version fields in pyproject.toml.
  • Only supports the Keep a changelog format, in Markdown and with CHANGELOG.md as a file name.
  • Doesn't interact with git at all, either by inferring changelog entries from commits or making commits or tags for you.
  • Warns you if you try to set a version that is inconsistent with your changelog entries.

Installation

Installation with pipx is recommended. You might have to install pipx itself first.

pipx install minibump

Usage

Increment one of the semantic versioning segments using bump:

minibump bump [OPTIONS] SEGMENT [PROJECT DIR]

Where

  • SEGMENT is major, minor, patch or prerelease
  • PROJECT DIR is an optional path to the root of the Python project to update

This will

  • Change the version in pyproject.toml in the standard project.version field, incrementing the relevant part.
  • Make a new release in your changelog (if present) from the content of the Unreleased section, with the appropriate version number, link and date.
  • If the segment you were asking to bump is inconsistent with the entries of your changelog, do nothing and fail (see the --relax/--strict option).

Options:

  • --dry-run: don't modify the files in place and prints the result in the console instead
  • --relax/--strict: in strict mode (default), inconsistencies between changes and version make minibump abort. in relax mode, this will simply result in a warning.

Alternatively you can set a version yourself directly (in that case the default mode is relax) with set:

minibump bump [OPTIONS] VERSION [PROJECT DIR]

Where VERSION is the version to set, which still has to be semver-compatible.

Inspirations and similar tools

Minibump is made to fit my own need as closely as possible. Although I would be glad to make evolve to also suit other people's needs, you might also want to have a look at bump2version and the alternatives they suggest.

As it is, Minibump is mostly a wrapper around semver and keep-a-changelog, with tomlkit as a backend for metadata parsing.

Licence

This software is released under the MIT Licence see LICENCE.md for the details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minibump-0.0.2.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

minibump-0.0.2-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file minibump-0.0.2.tar.gz.

File metadata

  • Download URL: minibump-0.0.2.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for minibump-0.0.2.tar.gz
Algorithm Hash digest
SHA256 1802c9e7f9d1722de302f6f3da34b71919b531693438ea93a58c13eab17eec44
MD5 12f6aa6e5f830f7a476e37e0455690ba
BLAKE2b-256 d9175f4042ccc4077aa5b9a119bd7c6f44674fb815c2d1619e6e0d499052b5c9

See more details on using hashes here.

File details

Details for the file minibump-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: minibump-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for minibump-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 71daca4743ab638b4f3bf9dd4039dde20c6d43ebe82fedf3577a2e7039bf41bf
MD5 6fe66a8d2f7394c6dd783383ccd24883
BLAKE2b-256 844f6083bb5ca8dfa3a836e0209aece5e1c9d17be97bda1a6311aa93b48e31f4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page