Reviewing a PR that touches uv.lock or poetry.lock means scrolling thousands of lines. lockdiff tells you in a few lines what actually changed: packages added, removed, upgraded (with major/minor/patch) and downgraded. Stdlib only, Python 3.9+.
$ lockdiff --git main uv.lock # working tree vs. branch main
$ lockdiff old/poetry.lock new/poetry.lock -f markdown # paste into a PR comment
$ lockdiff --git HEAD~1 requirements.txt --exit-code # exit 1 in CI if deps changedUpgraded (2)
requests 2.30.0 -> 2.31.1 [minor]
urllib3 1.26.0 -> 2.0.0 [major]
Added (1)
fresh 0.3
Supported: uv.lock, poetry.lock (any [[package]] TOML lock), Pipfile.lock, pinned requirements.txt (name==version), npm package-lock.json.
Options: --git REV, -f text|markdown|json, --exit-code. Exit code 2 on unreadable files or bad arguments.
pip install lockdiff or copy lockdiff.py.
MIT licensed. If it saves you time: https://paypal.me/RafalBaranowski