Metadata-Version: 2.4
Name: uv-plugin-up
Version: 1.1.1
Summary: uv-plugin-up - is a plugin for automated dependency updates and version bumping in pyproject.toml files.
Project-URL: Homepage, https://github.com/pivoshenko/uv-plugin-up
Project-URL: Repository, https://github.com/pivoshenko/uv-plugin-up
Author-email: Volodymyr Pivoshenko <volodymyr.pivoshenko@gmail.com>
Maintainer-email: Volodymyr Pivoshenko <volodymyr.pivoshenko@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: cross-platform,dependencies,dependencies-management,dependencies-update,dependencies-upgrade,dependency,hacktoberfest,packaging,packaging-management,packaging-update,packaging-upgrade,plugin,plugins,pypi,python,uv,uv-plugin,uv-plugins
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
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 :: Scientific/Engineering
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: click>=8.1.8
Requires-Dist: httpx>=0.28.1
Requires-Dist: tomlkit>=0.13.3
Description-Content-Type: text/markdown

<div align="center">
  <img alt="logo" src="https://github.com/pivoshenko/uv-plugin-up/blob/main/assets/logo.svg?raw=True" height=200>
</div>

<br>

<p align="center">
  <a href="https://opensource.org/licenses/MIT">
    <img alt="License" src="https://img.shields.io/pypi/l/uv-plugin-up?style=flat-square&logo=opensourceinitiative&logoColor=white&color=0A6847&label=License">
  </a>
  <a href="https://pypi.org/project/uv-plugin-up">
    <img alt="Python" src="https://img.shields.io/pypi/pyversions/uv-plugin-up?style=flat-square&logo=python&logoColor=white&color=4856CD&label=Python">
  </a>
  <a href="https://pypi.org/project/uv-plugin-up">
    <img alt="PyPI" src="https://img.shields.io/pypi/v/uv-plugin-up?style=flat-square&logo=pypi&logoColor=white&color=4856CD&label=PyPI">
  </a>
  <a href="https://github.com/pivoshenko/uv-plugin-up/releases">
    <img alt="Release" src="https://img.shields.io/github/v/release/pivoshenko/uv-plugin-up?style=flat-square&logo=github&logoColor=white&color=4856CD&label=Release">
  </a>
</p>

<p align="center">
  <a href="https://semantic-release.gitbook.io">
    <img alt="Semantic_Release" src="https://img.shields.io/badge/Semantic_Release-angular-e10079?style=flat-square&logo=semanticrelease&logoColor=white&color=D83A56">
  </a>
  <a href="https://pycqa.github.io/isort">
    <img alt="Imports" src="https://img.shields.io/badge/Imports-isort-black.svg?style=flat-square&logo=improvmx&logoColor=white&color=637A9F&">
  </a>
  <a href="https://docs.astral.sh/ruff">
    <img alt="Ruff" src="https://img.shields.io/badge/Style-ruff-black.svg?style=flat-square&logo=ruff&logoColor=white&color=D7FF64">
  </a>
  <a href="https://mypy.readthedocs.io/en/stable/index.html">
    <img alt="mypy" src="https://img.shields.io/badge/mypy-checked-success.svg?style=flat-square&logo=pypy&logoColor=white&color=0A6847">
  </a>
</p>

<p align="center">
  <a href="https://github.com/pivoshenko/uv-plugin-up/actions/workflows/tests.yaml">
    <img alt="Tests" src="https://img.shields.io/github/actions/workflow/status/pivoshenko/uv-plugin-up/tests.yaml?label=Tests&style=flat-square&logo=pytest&logoColor=white&color=0A6847">
  </a>
  <a href="https://github.com/pivoshenko/uv-plugin-up/actions/workflows/linters.yaml">
    <img alt="Linters" src="https://img.shields.io/github/actions/workflow/status/pivoshenko/uv-plugin-up/linters.yaml?label=Linters&style=flat-square&logo=lintcode&logoColor=white&color=0A6847">
  </a>
  <a href="https://github.com/pivoshenko/uv-plugin-up/actions/workflows/release.yaml">
    <img alt="Release" src="https://img.shields.io/github/actions/workflow/status/pivoshenko/uv-plugin-up/release.yaml?label=Release&style=flat-square&logo=pypi&logoColor=white&color=0A6847">
  </a>
  <a href="https://codecov.io/gh/pivoshenko/uv-plugin-up" >
    <img alt="Codecov" src="https://img.shields.io/codecov/c/gh/pivoshenko/uv-plugin-up?token=cqRQxVnDR6&style=flat-square&logo=codecov&logoColor=white&color=0A6847&label=Coverage"/>
  </a>
</p>

<p align="center">
  <a href="https://pypi.org/project/uv-plugin-up">
    <img alt="Downloads" src="https://img.shields.io/pypi/dm/uv-plugin-up?style=flat-square&logo=pythonanywhere&logoColor=white&color=4856CD&label=Downloads">
  </a>
  <a href="https://github.com/pivoshenko/uv-plugin-up">
    <img alt="Stars" src="https://img.shields.io/github/stars/pivoshenko/uv-plugin-up?style=flat-square&logo=apachespark&logoColor=white&color=4856CD&label=Stars">
  </a>
</p>

<p align="center">
  <a href="https://stand-with-ukraine.pp.ua">
    <img alt="StandWithUkraine" src="https://img.shields.io/badge/Support-Ukraine-FFC93C?style=flat-square&labelColor=07689F">
  </a>
</p>

## 🪴 Overview

`uv-plugin-up` - is a plugin for automated dependency updates and version bumping in `pyproject.toml` files.

### Features

- **Automated dependency updates** - automatically updates dependencies to their latest versions from PyPI
- **Multiple dependency groups support** - handles `project.dependencies`, `project.optional-dependencies`, and `dependency-groups`
- **Selective updates** - exclude specific packages from being updated
- **Dry-run mode** - preview changes without modifying files
- **Safe updates** - automatically runs `uv lock` after updates and rolls back on failure

## 🌙 Installation

Install using `uv`:

```bash
uv add --dev uv-plugin-up
```

## 🧙‍♂️ Usage and Configuration

### Basic Usage

Update all dependencies in your `pyproject.toml`:

```bash
uv-plugin-up
```

### Command-line Options

#### Specify a custom pyproject.toml path

```bash
uv-plugin-up --filepath /path/to/pyproject.toml
```

#### Exclude packages from updates

You can exclude specific packages from being updated (multiple values allowed):

```bash
uv-plugin-up --exclude package_01 --exclude package_02
```

#### Preview changes without modifying files

Use dry-run mode to see what would be updated:

```bash
uv-plugin-up --dry-run
```
