Skip to content

datagouv/bumpx

 
 

Repository files navigation

Bump'X: Bump and release versions

Build Status PyPI - Last version PyPI - License PyPI - Python Version

Bump'X is a version bumper and releaser forked from Bump'R. In a single CLI command, Bump'X can:

  • Clean-up release artifact
  • Bump version and tag it
  • Build a source distribution and upload on PyPI
  • Update version for a new development cycle

Bump'X intend to be customizable with the following features:

  • Optional test suite run before bump
  • Customizable with a config file
  • Overridable by command line
  • Extensible with hooks

Compatibility

Bump'X requires Python >=3.9 (and <4.0).

Bump'X also requires that you have git CLI and GitHub CLI installed on your system.

Installation

You can install Bump'X with pip:

pip install bumpx

Usage

You can use directly the command line to setup every parameter:

bumpx fake/__init__.py README.rst -M -ps dev

But Bump'X is designed to work with a configuration file (bumpr.rc by defaults). Some features are only availables with the configuration file like:

  • commit message customization
  • hooks configuration
  • multiline test, clean and publish commands

Here's an exemple:

[bumpx]
file = fake/__init__.py
vcs = git
forge = github
tests = tox
publish = python setup.py sdist register upload
clean =
    python setup.py clean
    rm -rf *egg-info build dist
files = README.rst

[bump]
unsuffix = true
message = Bump version {version}

[prepare]
suffix = dev
message = Prepare version {version} for next development cycle

[changelog]
file = CHANGELOG.rst
bump = {version} ({date:%Y-%m-%d})
prepare = In development

[readthedoc]
id = fake

This way you only have to specify which part you want to bump on the command line:

bumpx -M  # Bump the major
bumpx     # Bump the default part aka. patch

If you use GitHub as a forge and publish release on it, you might have to specify which origin should be used to publish the releases, with:

gh repo set-default

Documentation

The documentation for the upstream project Bump'X is hosted on Read the Docs:

About

Bump'X: Bump and release versions

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%