Metadata-Version: 2.1
Name: poetryup
Version: 0.9.0
Summary: Update dependencies and bump their version in the pyproject.toml file
Home-page: https://github.com/MousaZeidBaker/poetryup
License: MIT
Keywords: packaging,dependency,poetry,poetryup
Author: Mousa Zeid Baker
Requires-Python: >=3.6,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: packaging (>=21.3,<22.0)
Requires-Dist: tomlkit (>=0.11.0,<0.12.0)
Requires-Dist: typer (>=0.4.1,<0.5.0)
Project-URL: Repository, https://github.com/MousaZeidBaker/poetryup
Description-Content-Type: text/markdown

# PoetryUp

![build](https://github.com/MousaZeidBaker/poetryup/workflows/Publish/badge.svg)
![test](https://github.com/MousaZeidBaker/poetryup/workflows/Test/badge.svg)
[![License](https://img.shields.io/badge/License-MIT-yellow)](LICENSE)
![python_version](https://img.shields.io/badge/python-%3E=3.6-blue)
[![pypi_v](https://img.shields.io/pypi/v/poetryup)](https://pypi.org/project/poetryup)
[![pypi_dm](https://img.shields.io/pypi/dm/poetryup)](https://pypi.org/project/poetryup)

PoetryUp updates dependencies and bumps their version in both `poetry.lock` as
well as in `pyproject.toml` file. Dependencies version constraints are
respected, unless the `--latest` flag is passed, in which case dependencies will
be updated to their latest available version. PoetryUp runs
[poetry](https://github.com/python-poetry/poetry) commands, thus it's required
to be installed. The difference between running `poetry update` and `poetryup`,
is that the latter also modifies the `pyproject.toml` file.

![poetryup_demo](https://raw.githubusercontent.com/MousaZeidBaker/poetryup/master/media/poetryup_demo.gif)

## Usage

Show help message and exit
```shell
poetryup --help
```

Update all dependencies with respect to their version constraints specified in the
`pyproject.toml` file
```shell
poetryup
```

Update all dependencies to their latest available version
```shell
poetryup --latest
```

Update all dependencies to their latest available version except for packages
with an exact version
```shell
poetryup --latest --skip-exact
```

Update dependencies in the `default` and `dev` group to their latest available version
```shell
poetryup --latest --group default --group dev
```

Update the `foo` and `bar` dependencies to their latest available version
```shell
poetryup --latest --name foo --name bar
```

## Automate Dependency Updates with GitHub Actions
Use PoetryUp with GitHub actions to automate the process of updating
dependencies, for reference see this project's [workflow
configuration](https://github.com/MousaZeidBaker/poetryup/blob/master/.github/workflows/update-dependencies.yaml).

## Contributing
Contributions are welcome via pull requests.

## Issues
If you encounter any problems, please file an
[issue](https://github.com/MousaZeidBaker/poetryup/issues) along with a detailed
description.

## Develop
Activate virtual environment
```shell
poetry shell
```

Install dependencies
```shell
poetry install --remove-untracked
```

Install git hooks
```shell
pre-commit install --hook-type pre-commit
```

Run tests
```shell
pytest tests
```

Run linter
```shell
flake8 .
```

Format code
```shell
black .
```

Sort imports
```shell
isort .
```

Install current project from branch
```shell
poetry add git+https://github.com/MousaZeidBaker/poetryup.git#branch-name
```

