The concept of a package manager has been around for nearly 25 years, with early examples appearing in Linux distributions. These early package managers provided simple tools to download and install pre-built binary packages, including dependency metadata. The evolution of package management led to the development of application package managers like CPAN for Perl, Maven for Java, and NPM for JavaScript. Today, these application package managers sit alongside system package managers, allowing developers to have different versions of libraries for different applications, but also introducing new challenges such as managing dependencies and security issues across multiple packages. The need for tools to help users and creators understand their library dependencies has become increasingly important in the modern software development landscape.