Skip to content

Python command-line tool that can be used to quickly describe both concrete and transitive dependency changes when managing project requirements.

Notifications You must be signed in to change notification settings

khwiri/package-diff

Repository files navigation

Package Diff

Lint Test Imports: isort

Package Diff is a command-line tool that can be used to quickly describe both concrete and transitive dependency changes when managing project requirements. It interfaces with git to help automate commit messages containing this information.

Quick Example

:construction_worker: Update Python Dependencies

Default Dependencies
- click==8.0.3 (upgrade from 8.0.0)
- flask==2.0.0 (add)
- requests==2.26.0 (downgrade from 2.27.1)
- rich==11.1.0 (remove)

Develop Dependencies
- ipython==8.0.1 (add)
- isort==5.10.1 (upgrade from 5.9.3)
- pylint==2.12.2 (remove)
- pytest==6.1.2 (downgrade from 6.2.5)

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch main
# Your branch is up to date with 'origin/main'.
#
# Changes to be committed:
#       modified:   toolbox/sandbox/Pipfile.lock
#
# Changes not staged for commit:
#       modified:   README.md
#

Installing

Install with pip.

Note: Passing --editable so that pip freeze produces usable requirements.

> pip install --editable git+https://github.com/khwiri/package-diff.git@main#egg=package-diff

Installing with pipenv.

> pipenv install git+https://github.com/khwiri/package-diff.git@main#egg=package-diff

Usage

Package Diff is meant to be used with Pipfile files. In other words, Pipfile and Pipfile.lock files. Pipenv is a tool that currently uses these files for managing project requirements.

> pipenv run package-diff --help
Usage: package-diff [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  commit  Commit dependency changes.
  view    Print text output of commit message only.

About

Python command-line tool that can be used to quickly describe both concrete and transitive dependency changes when managing project requirements.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published