The ultimate goal for this side-project is to provide the following functionality:
- rich console output listing the packages installed in your (virtual) environment
- project Bill of Materials in JSON format w/ schema
- dependency graph that shows which first-level dependencies contribute which transitive dependencies
- statistics about your dependencies
At present we use
importlib.metadata.Distribution.discover()
to build a list of installed dependencies for the current environment, but ultimately we also want to support other query types,
like querying the dependency tree of a specific pypi package or egg
PEP-508 provides great detail on how dependencies are specified in the various distribution formats
A current example of running the tool might look like this when running in a KDE Plasma Konsole