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!
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
Release history Release notifications | RSS feed
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)
Built Distribution
bumpr-0.2.1-py2.py3-none-any.whl
(23.4 kB
view hashes)
Close
Hashes for bumpr-0.2.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 758fff939edfc4ab70a30acaabd665da1625e54c7052fde26a43515747049079 |
|
MD5 | b71e69b1d3421b136fbfa92a7667a598 |
|
BLAKE2b-256 | bf88395f8e71ab3972a37d462bc3097faec4cbe491cf2cd20858dfb927b9345b |