On 27 January 2018 at 03:44, Pradyun Gedam <pradyunsg@gmail.com> wrote:

On Fri, 26 Jan 2018 at 23:10 Pradyun Gedam <pradyunsg@gmail.com> wrote:
Resending coz I clicked the wrong button.

On Fri, 26 Jan 2018 at 22:16 Paul Moore <p.f.moore@gmail.com> wrote:
On 26 January 2018 at 16:07, Pradyun Gedam <pradyunsg@gmail.com> wrote:
>> Is there any other place where current functionality needs this
>> information, *apart* from pip check? Are there any proposed additional
>> features that might need it?
>
> Yes. I currently have a branch where during pip install, after the packages
> to be installed are selected, it does a pip check on what would be the
> installed packages if the installation is successful. This would mean that
> if we do select an incompatible version for installation, pip install would
> be able to print a warning.

I'd rather see us get a proper solver that would mean this should
never happen :-) 


Yep, I am working on that. This is more of a short-term thing that I'm thinking of, just in case the proper solver isn't ready in time for pip 10. :)

And the resolver will need this extras-installed metadata as well.

`pipenv lock` could likely also benefit from this (although in our case we can also check `Pipfile` to see if any extras have been explicitly requested).

From the point of view of post-install-metadata-readability, something else we don't currently record is the *result* of environment marker expressions at the time of installation.

This means that there's no particularly straightforward way to check the portability of an entire virtual environment, whereas if we recorded the environment marker expressions and their outcomes somewhere, then we'd be able to extract a consolidated list of the environmental expectations for that venv.

Ideally, we'd also be able to record somewhere which dependencies had been satisfied from *outside* the venv, again with the goal of extracting a consolidated list of the expectations the venv is placing on the host Python environment.

Cheers,
Nick.

--
Nick Coghlan   |   ncoghlan@gmail.com   |   Brisbane, Australia