-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Evaluate resolvelib
#31
Comments
Some questions we want answered w/r/t
|
Not a complete answer, but this looks like it uses PyPI's APIs: https://github.com/sarugaku/resolvelib/blob/19c09128394a4fddfd11c16c204a0f2246e98058/examples/pypi_wheel_provider.py#L114 |
I pasted the
So as you can see, it also picks up the transitive dependencies like
I haven't looked too deeply into this so I'm not sure whether this is about the PyPI provider or the core resolver logic. I'm sure we can figure it out if we decide to use the library, but I figured I'd mention it just to warn that it might not be a "plug and play" deal. |
@woodruffw
It seems to get the entire dependency tree. I think the example I posted above of
Yep, as you linked, it's in the |
Awesome, thanks for digging into that. Adapting the I'm not sure if it's related, but the source of the problem with |
Yeah, looking at the simple index for ...so the current provider ignores all of the other versions. Our task here would be to support source distributions as well, which (I think) involves just two steps:
Edit: For sdists, the corresponding metadata file is
|
(We shouldn't need to parse the metadata ourselves, but here's the relevant most recent PEP anyways: https://www.python.org/dev/peps/pep-0566/) |
I have a PR open with just the basics + unit tests. If we decide to merge it, I intend to open issues for:
|
As a parallel or perhaps complementary track to #29:
resolvelib
provides an abstract interface for resolving dependencies that are produced by a client-supplied "provider" (presumably something like us querying the PyPI APIs).This might be too generic of a library for our use case, but it might be useful if we go further into reworking
pip-tools
to supply a Python API.PyPI Link: https://pypi.org/project/resolvelib/
The text was updated successfully, but these errors were encountered: