Skip to main content

Version bumper and Python package releaser

Project description

Build status Code coverage Requirements Status Documentation status License Supported Python versions

Bump’R is a version bumper and releaser allowing in a single command:

  • 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’R intend to be customizable with the following features:

  • Optionnal test suite run before bump

  • Customizable with a config file

  • Overridable by command line

  • Extensible with hooks

Compatibility

Bump’R requires Python 2.6+

Installation

You can install Bump’R with pip:

$ pip install bumpr

or with easy_install:

$ easy_install bumpr

Usage

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

$ bumpr fake/__init__.py README.rst -M -ps dev

But Bump’R 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:

[bumpr]
file = fake/__init__.py
vcs = git
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:

$ bumpr -M  # Bump the major
$ bumpr     # Bump the default part aka. patch

Documentation

The documentation is hosted on Read the Docs

Changelog

0.3.0 (2017-01-08)

  • Support seprator omission in changelog (for markdown)

  • Add readthedoc badge support.

  • Breaking Use https and readthedocs.io as default

  • setup.cfg declaration support

  • Optionnal bumpr: prefix support

  • Switch to pytest

0.2.1 (2015-11-21)

  • Use nosetests instead of custom discovery

  • Some fixes on Python 3 (mostly encodings)

  • Improve error handling

  • Validate configuration

0.2.0 (2013-08-24)

  • colored diff

  • Added --bump and --prepare to only perform bump or prepare

  • Rely on VCS for tracking files and ensure working copy is clean

  • Added option --nocommit

  • Ensure dry run does not write or execute anything

  • Better output and error handling

  • Group parameters in help

  • Added optionnal hook vaidation

  • Fix some Python incompatibilities (Python 2.6 and 3.X)

  • More documentation

0.1.0 (2013-08-22)

  • Initial release. Missing some parts but working!

Supported by

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