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.7 or 3.4+

Installation

You can install Bump’R with pip:

$ pip 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.7 (2017-10-29)

  • Drop support for Python 2.6 and 3.3

  • Properly display dry run prepare diff

  • Warn only for dirty workspace on dry run

  • Optional tag annotation support

0.3.6 (2017-01-10)

  • Make use of custom tag_format in readthedoc hook

  • Expose {tag} in replace and command hook

  • Expose {tag} in commit messages

0.3.5 (2017-01-10)

  • Allow to specify a custom tag pattern

0.3.4 (2017-01-10)

  • Added -st/–skip-tests option

0.3.3 (2017-01-08)

  • Push action is verbose

0.3.2 (2017-01-08)

  • Fix some boolean handling from commandline

0.3.1 (2017-01-08)

  • Ensure push is executed

  • Fix boolean parsing

  • Fix error handling on version extraction

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!

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

bumpr-0.3.7.tar.gz (16.5 kB view hashes)

Uploaded Source

Built Distribution

bumpr-0.3.7-py2.py3-none-any.whl (17.3 kB view hashes)

Uploaded Python 2 Python 3

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