Skip to main content

Version bumper and Python package releaser

Project description

======
Bump'R
======



:alt: Build status


:alt: Code coverage
.. image:: https://requires.io/github/noirbizarre/bumpr/requirements.png?branch=master
:target: https://requires.io/github/noirbizarre/bumpr/requirements/?branch=master
:alt: Requirements Status
.. image:: https://readthedocs.org/projects/bumpr/badge/?version=latest
:target: http://bumpr.readthedocs.org/en/0.2.1/
:alt: Documentation status

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 <http://bumpr.readthedocs.org/en/0.2.1/>`_

Changelog
=========

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.2.1.tar.gz (19.0 kB view hashes)

Uploaded Source

Built Distribution

bumpr-0.2.1-py2.py3-none-any.whl (23.4 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