Metadata-Version: 2.0
Name: bumpr
Version: 0.3.7
Summary: Version bumper and Python package releaser
Home-page: https://github.com/noirbizarre/bumpr
Author: Axel Haustant
Author-email: noirbizarre+github@gmail.com
License: LGPL
Description-Content-Type: UNKNOWN
Keywords: version bump release tag
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: System :: Software Distribution
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
Provides-Extra: doc
Requires-Dist: Sphinx (==1.6.5); extra == 'doc'
Provides-Extra: test
Requires-Dist: mock (==2.0.0); extra == 'test'
Requires-Dist: pytest-catchlog (==1.2.2); extra == 'test'
Requires-Dist: pytest-cov (==2.5.1); extra == 'test'
Requires-Dist: pytest-mock (==1.6.3); extra == 'test'
Requires-Dist: pytest-sugar (==0.9.0); extra == 'test'
Requires-Dist: pytest (==3.2.3); extra == 'test'

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

.. image:: https://secure.travis-ci.org/noirbizarre/bumpr.svg?tag=0.3.7
    :target: https://travis-ci.org/noirbizarre/bumpr
    :alt: Build status
.. image:: https://coveralls.io/repos/noirbizarre/bumpr/badge.svg?tag=0.3.7
    :target: https://coveralls.io/r/noirbizarre/bumpr?tag=0.3.7
    :alt: Code coverage
.. image:: https://requires.io/github/noirbizarre/bumpr/requirements.svg?tag=0.3.7
    :target: https://requires.io/github/noirbizarre/bumpr/requirements/?tag=0.3.7
    :alt: Requirements Status
.. image:: https://readthedocs.org/projects/bumpr/badge/?version=0.3.7
    :target: https://bumpr.readthedocs.io/en/0.3.7/
    :alt: Documentation status
.. image:: https://img.shields.io/pypi/l/bumpr.svg
    :target: https://pypi.python.org/pypi/bumpr
    :alt: License
.. image:: https://img.shields.io/pypi/pyversions/bumpr.svg
    :target: https://pypi.python.org/pypi/bumpr
    :alt: 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:

.. code-block:: console

    $ pip install bumpr


Usage
=====

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

.. code-block:: console

    $ 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:

.. code-block:: ini

    [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:

.. code-block:: console

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

Documentation
=============

The documentation is hosted `on Read the Docs <https://bumpr.readthedocs.io/en/0.3.7/>`_

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!



