Skip to content

Create report containing information about packages installed #206

Open
@fridex

Description

Is your feature request related to a problem? Please describe.

micropipenv provides easy to use tool to install application dependencies. It might be an interesting feature to let users know more about the installation process and provenance of installed packages. Consider a use-case when a user wants to know information about packages installed into the environment. The user can trigger:

pip list

This pip's package listing shows installed packages - only their names and versions. Sadly, the output does not capture additional information, such as which index was used to install packages or which wheel file was chosen.

Describe the solution you'd like

Provide --report option in micropipenv that would produce a report out of the installation process. This report can capture:

  • which distribution was used (sdist/wheel)
  • which index was used to obtain the package
  • artifact hash used (even if users use lock files, lock files state multiple hashes matching multiple artifacts and the installation procedure picks the one matching environment)
  • additional information about the artifact (such as size, full url following redirects, ...)
  • environment information (ex. python interpreter version, markers evaluated, ...)

Additional context

The very first implementation could try to parse pip logs. Some instrumentation or monkey patching of pip might be needed to obtain relevant information.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.priority/backlogHigher priority than priority/awaiting-more-evidence.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions