Sometimes when I look for updates of the installed packages, some standalone packages show up. I guess they could be a requirement of some previous version of an installed package, but the matter is I found them out by chance, because they are not up-to-date (meaning I won't find out the "leftovers" until they have a new version). Is there a way to either: find out which package(s) installed a package that currently has no requirements; or better yet which package(s) I have installed will no longer require other package after an update? The purpose is to be able to uninstall unnecessary packages as soon as they are no longer required. An example, I have never installed a package named ujson, but a pip list --outdated show it as having a new version available. Then I pip show ujson: Name: ujson Version: 5.10.0 Summary: Ultra fast JSON encoder and decoder for Python Home-page: https://github.com/ultrajson/ultrajson Author: Jonas Tarnstrom Author-email: License: Location: C:\python\Lib\site-packages Requires: Required-by: I will uninstall it, but I am not aware what else could be removed. Continue reading...