Metadata-Version: 2.1
Name: bumpx
Version: 0.3.10
Summary: Version bumper and Python package releaser
Home-page: https://github.com/datagouv/bumpx
License: LGPL
Keywords: version,bump,release,tag
Author: data.gouv.fr
Author-email: opendatateam@data.gouv.fr
Requires-Python: >=3.9,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Software Distribution
Project-URL: Bug Tracker, https://github.com/datagouv/bumpx/issues
Project-URL: Documentation, https://bumpr.readthedocs.io/en/stable/
Project-URL: Repository, https://github.com/datagouv/bumpx
Description-Content-Type: text/markdown

# 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/noirbizarre/bumpr).
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 bumpx
```

## Usage

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

```bash
bumpx 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
[bumpx]
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
bumpx -M  # Bump the major
bumpx     # Bump the default part aka. patch
```

## Documentation

The documentation for the upstream project [Bump'X](https://github.com/datagouv/bumpx) 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)

