# Bump'X: Bump and release versions
[![Build Status](https://github.com/datagouv/bumpx/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/datagouv/bumpx/actions/workflows/main.yml)
![PyPI - Last version](https://img.shields.io/pypi/v/bumpx)
![PyPI - License](https://img.shields.io/pypi/l/bumpx)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/bumpx)
Bump'X is a version bumper and releaser forked from [Bump'R](https://github.com/datagouv/bumpx).
In a single CLI command, Bump'X can:
- 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'X intend to be customizable with the following features:
- Optional test suite run before bump
- Customizable with a config file
- Overridable by command line
- Extensible with hooks
## Compatibility
Bump'X requires Python `>=3.9` (and `<4.0`)
## Installation
You can install Bump'X with pip:
```bash
pip install bumpr
```
## Usage
You can use directly the command line to setup every parameter:
```bash
bumpr fake/__init__.py README.rst -M -ps dev
```
But Bump'X 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:
```bash
bumpr -M # Bump the major
bumpr # Bump the default part aka. patch
```
## Documentation
The documentation for the upstream project [Bump'R](https://github.com/noirbizarre/bumpr) is hosted on Read the Docs:
- [Stable](https://bumpr.readthedocs.io/en/stable/) [![Stable documentation status](https://readthedocs.org/projects/bumpr/badge/?version=stable)](https://bumpr.readthedocs.io/en/stable/?badge=stable)
- [Development](https://bumpr.readthedocs.io/en/latest/) [![Latest documentation Status](https://readthedocs.org/projects/bumpr/badge/?version=latest)](https://bumpr.readthedocs.io/en/latest/?badge=latest)
Raw data
{
"_id": null,
"home_page": "https://github.com/datagouv/bumpx",
"name": "bumpx",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "version, bump, release, tag",
"author": "data.gouv.fr",
"author_email": "opendatateam@data.gouv.fr",
"download_url": "https://files.pythonhosted.org/packages/6b/b7/897e3ae2475f6935af3c61cebb3498352f44bbf6c8da13c5d1fc11bfd8da/bumpx-0.3.9.tar.gz",
"platform": null,
"description": "# Bump'X: Bump and release versions\n\n[![Build Status](https://github.com/datagouv/bumpx/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/datagouv/bumpx/actions/workflows/main.yml)\n![PyPI - Last version](https://img.shields.io/pypi/v/bumpx)\n![PyPI - License](https://img.shields.io/pypi/l/bumpx)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/bumpx)\n\nBump'X is a version bumper and releaser forked from [Bump'R](https://github.com/datagouv/bumpx).\nIn a single CLI command, Bump'X can:\n\n- Clean-up release artifact\n- Bump version and tag it\n- Build a source distribution and upload on PyPI\n- Update version for a new development cycle\n\nBump'X intend to be customizable with the following features:\n\n- Optional test suite run before bump\n- Customizable with a config file\n- Overridable by command line\n- Extensible with hooks\n\n## Compatibility\n\nBump'X requires Python `>=3.9` (and `<4.0`)\n\n## Installation\n\nYou can install Bump'X with pip:\n\n```bash\npip install bumpr\n```\n\n## Usage\n\nYou can use directly the command line to setup every parameter:\n\n```bash\nbumpr fake/__init__.py README.rst -M -ps dev\n```\n\nBut Bump'X is designed to work with a configuration file (`bumpr.rc` by defaults).\nSome features are only availables with the configuration file like:\n\n- commit message customization\n- hooks configuration\n- multiline test, clean and publish commands\n\nHere's an exemple:\n\n```ini\n[bumpr]\nfile = fake/__init__.py\nvcs = git\ntests = tox\npublish = python setup.py sdist register upload\nclean =\n python setup.py clean\n rm -rf *egg-info build dist\nfiles = README.rst\n\n[bump]\nunsuffix = true\nmessage = Bump version {version}\n\n[prepare]\nsuffix = dev\nmessage = Prepare version {version} for next development cycle\n\n[changelog]\nfile = CHANGELOG.rst\nbump = {version} ({date:%Y-%m-%d})\nprepare = In development\n\n[readthedoc]\nid = fake\n```\n\nThis way you only have to specify which part you want to bump on the\ncommand line:\n\n```bash\nbumpr -M # Bump the major\nbumpr # Bump the default part aka. patch\n```\n\n## Documentation\n\nThe documentation for the upstream project [Bump'R](https://github.com/noirbizarre/bumpr) is hosted on Read the Docs:\n\n- [Stable](https://bumpr.readthedocs.io/en/stable/) [![Stable documentation status](https://readthedocs.org/projects/bumpr/badge/?version=stable)](https://bumpr.readthedocs.io/en/stable/?badge=stable)\n- [Development](https://bumpr.readthedocs.io/en/latest/) [![Latest documentation Status](https://readthedocs.org/projects/bumpr/badge/?version=latest)](https://bumpr.readthedocs.io/en/latest/?badge=latest)\n",
"bugtrack_url": null,
"license": "LGPL",
"summary": "Version bumper and Python package releaser",
"version": "0.3.9",
"project_urls": {
"Bug Tracker": "https://github.com/datagouv/bumpx/issues",
"Documentation": "https://bumpr.readthedocs.io/en/stable/",
"Homepage": "https://github.com/datagouv/bumpx",
"Repository": "https://github.com/datagouv/bumpx"
},
"split_keywords": [
"version",
" bump",
" release",
" tag"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b02a0f2e70d310c3521bde46fb49600ff58a6e9c8f7a346f744115c66d43ecfa",
"md5": "b1af2a25c0d02c25d4c990c013dc0dac",
"sha256": "a04b8d453bfbc49aad611692999add2640f44c1eecbf5d1a9fa6cce2608cd2f1"
},
"downloads": -1,
"filename": "bumpx-0.3.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b1af2a25c0d02c25d4c990c013dc0dac",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 21420,
"upload_time": "2024-11-14T14:09:21",
"upload_time_iso_8601": "2024-11-14T14:09:21.189659Z",
"url": "https://files.pythonhosted.org/packages/b0/2a/0f2e70d310c3521bde46fb49600ff58a6e9c8f7a346f744115c66d43ecfa/bumpx-0.3.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6bb7897e3ae2475f6935af3c61cebb3498352f44bbf6c8da13c5d1fc11bfd8da",
"md5": "70b48b367ace9bd18938544a9e6ff138",
"sha256": "6e056666660b0b04669494f61efe20dfa30b7349e2d7b2270154382bccfd47a4"
},
"downloads": -1,
"filename": "bumpx-0.3.9.tar.gz",
"has_sig": false,
"md5_digest": "70b48b367ace9bd18938544a9e6ff138",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 15758,
"upload_time": "2024-11-14T14:09:22",
"upload_time_iso_8601": "2024-11-14T14:09:22.699238Z",
"url": "https://files.pythonhosted.org/packages/6b/b7/897e3ae2475f6935af3c61cebb3498352f44bbf6c8da13c5d1fc11bfd8da/bumpx-0.3.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-14 14:09:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "datagouv",
"github_project": "bumpx",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "bumpx"
}