On Wed, 1 Mar 2017 at 15:58 Pradyun Gedam <pradyunsg@gmail.com> wrote:


On Tue, Feb 28, 2017, 21:18 Jim Fulton <jim@jimfulton.info> wrote:
On Tue, Feb 28, 2017 at 10:14 AM, Pradyun Gedam <pradyunsg@gmail.com> wrote:
...

4. (if time permits) Move any dependency resolution code out into a separate library.

   This would make it possible for other projects (like buildout or a future pip replacement) to reuse the dependency resolver.

Thank you!

Welcome!


...

I do intend to reuse some of the work done by Robert Collins in PR #2716 on pip's GitHub repository.

Are you aware of the proof of concept in distlib?

I am. I had looked at it a few weeks back. IIRC it makes a dependency graph using distlib and operates with that.

I haven't really understood how it gets the information about dependencies without downloading the packages... I'll give it another pass this weekend.

I went through it.

As Paul Moore said, it is hitting http://www.red-dove.com/pypi/ which has metdata on what the requirements are of a package. (saying this on the basis of [1])

Since PyPI does not have such information in a static declarative format, that approach is not feasible. pip will have to download packages and execute setup.py to know what the dependencies are.

[1]: https://www.red-dove.com/pypi/projects/S/Sphinx/package-1.3.json