Metadata-Version: 2.4
Name: bumpversion-slim
Version: 0.1.1
Summary: A lightweight tool to bump package versions
Author-email: Daniel Edgecombe <daniel@nrwl.co>
License-Expression: Apache-2.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
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: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Version Control
Classifier: Topic :: System :: Software Distribution
Requires-Python: >=3.10
Requires-Dist: gitpython>=3.1.46
Requires-Dist: rtoml>=0.13.0
Provides-Extra: dev
Requires-Dist: git-cliff>=2.12.0; extra == 'dev'
Requires-Dist: prek>=0.3.4; extra == 'dev'
Requires-Dist: ruff>=0.14.10; extra == 'dev'
Requires-Dist: ty>=0.0.17; extra == 'dev'
Provides-Extra: test
Requires-Dist: freezegun>=1.2.1; extra == 'test'
Requires-Dist: path<17,>=16; extra == 'test'
Requires-Dist: pytest-cov>=7.0.0; extra == 'test'
Requires-Dist: pytest-git<1.8,>=1.7.0; extra == 'test'
Requires-Dist: pytest-httpx>=0.36.0; extra == 'test'
Requires-Dist: pytest-random-order>=1.2.0; extra == 'test'
Requires-Dist: pytest>=9.0.0; extra == 'test'
Description-Content-Type: text/markdown

# Lightweight Version Release Manager
[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
[![ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![image](https://img.shields.io/pypi/v/bumpversion_slim.svg)](https://pypi.org/project/bumpversion_slim/)
[![image](https://img.shields.io/pypi/l/bumpversion_slim.svg)](https://pypi.org/project/bumpversion_slim/)
[![image](https://img.shields.io/pypi/pyversions/bumpversion_slim.svg)](https://pypi.org/project/bumpversion_slim/)
![style](https://github.com/NRWLDev/bumpversion-slim/actions/workflows/style.yml/badge.svg)
![tests](https://github.com/NRWLDev/bumpversion-slim/actions/workflows/tests.yml/badge.svg)
[![codecov](https://codecov.io/gh/NRWLDev/bumpversion-slim/branch/main/graph/badge.svg)](https://codecov.io/gh/NRWLDev/bumpversion-slim)

# Details

This tool is intended as a very light version of
[bump-my-version](https://github.com/callowayproject/bump-my-version). It does
not provide semantic version generation, instead relying on the version
specifically being supplied. This is due to this projects intention of
augmenting [git-cliff](https://git-cliff.org), which provides changelog
generation from conventional commits as well as semantic versioning, but does
not provide file update functionality or commit/tag support.

A basic pyproject.toml configuration can be as simple as:

```toml
[tool.bumpversion]
current_version = "0.0.0"
commit_extra = ["CHANGELOG.md"]
```

## Bumping the version

Run `bumpversion VERSION_STRING` to update configured files with the new
version string, commit and tag the release.

If using in conjunction with `git-cliff` you can output the latest version
string from the cli, and provide it to `bumpversion-slim`.

```console
> git-cliff --config pyproject.toml --bump -o CHANGELOG.md
> VERSION=$(git-cliff --bumped-version)
> bumpversion $VERSION
```

## Installation

```bash
pip install bumpversion-slim
```

or clone this repo and install with invoke/uv.

```bash
invoke install-dev
```

## Contributing

This project uses pre-commit hooks, please run `invoke install-dev` after
cloning to install dev dependencies and commit hooks.
