https://github.com/noirbizarre/bumpr
Bump'R: Bump and release versions
https://github.com/noirbizarre/bumpr
bump python release release-automation version
Last synced: about 1 year ago
JSON representation
Bump'R: Bump and release versions
- Host: GitHub
- URL: https://github.com/noirbizarre/bumpr
- Owner: noirbizarre
- License: lgpl-3.0
- Created: 2013-08-21T15:02:38.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2025-03-17T17:19:44.000Z (about 1 year ago)
- Last Synced: 2025-03-31T15:18:10.646Z (about 1 year ago)
- Topics: bump, python, release, release-automation, version
- Language: Python
- Homepage:
- Size: 327 KB
- Stars: 32
- Watchers: 4
- Forks: 12
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Bump'R: Bump and release versions
[](https://github.com/noirbizarre/bumpr/actions/workflows/main.yml)
[](https://codecov.io/gh/noirbizarre/bumpr)
[](https://bumpr.readthedocs.io/en/latest/?badge=latest)



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 `>=3.7` (and `<4.0`)
## Installation
You can install Bump'R with pip:
```console
pip install bumpr
```
## Usage
You can use directly the command line to setup every parameter:
```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:
```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:
```console
bumpr -M # Bump the major
bumpr # Bump the default part aka. patch
```
## Documentation
The documentation is hosted on Read the Docs:
- [Stable](https://bumpr.readthedocs.io/en/stable/) [](https://bumpr.readthedocs.io/en/stable/?badge=stable)
- [Development](https://bumpr.readthedocs.io/en/latest/) [](https://bumpr.readthedocs.io/en/latest/?badge=latest)