Skip to content
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 pip-tools #29

Closed
woodruffw opened this issue Sep 14, 2021 · 6 comments
Closed

Evaluate pip-tools #29

woodruffw opened this issue Sep 14, 2021 · 6 comments

Comments

@woodruffw
Copy link
Member

woodruffw commented Sep 14, 2021

We're probably going to need pip-tools to fully resolve any requirements files that we're passed, since we'll need to both resolve the entire dependency tree and concretize each dependency down to a specific version.

Link: https://pypi.org/project/pip-tools/

Link: https://github.com/jazzband/pip-tools/

@woodruffw
Copy link
Member Author

In particular, we want one or more APIs that:

  • Take a requirements file as input, and return:
    • The fully resolved dependency tree
    • A concrete version for each dependency

@woodruffw
Copy link
Member Author

Hmm, looks like pip-tools doesn't include a public Python API (it's completely geared as a set of CLI tools).

Here's the core dependency resolution logic: https://github.com/jazzband/pip-tools/blob/master/piptools/resolver.py

@di
Copy link
Member

di commented Sep 14, 2021

One option would be that we could temporarily vendor it into this project (with vendy) and then eventually work with the pip-api team on creating an importable API, once we know what we need.

@woodruffw
Copy link
Member Author

Yeah, vendoring seems like a good initial approach. I can also reach out and see whether an importable API is on their radar/whether they'd accept work towards one/how difficult they think it'd be.

@woodruffw
Copy link
Member Author

Opened upstream discussion: jazzband/pip-tools#1484

@woodruffw
Copy link
Member Author

I'm going to close this for now, since we haven't heard from the pip-tools upstream and #31 seems like a more promising approach.

@di di added this to the Stable Release milestone Oct 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants