-
-
Notifications
You must be signed in to change notification settings - Fork 612
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
Compile editables that are both primary reqs and constraints #1093
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1093 +/- ##
==========================================
- Coverage 99.42% 99.38% -0.04%
==========================================
Files 34 34
Lines 2443 2452 +9
Branches 302 301 -1
==========================================
+ Hits 2429 2437 +8
Misses 8 8
- Partials 6 7 +1
Continue to review full report at Codecov.
|
Hello @richafrank!
It looks like a bug. Could you please provide also reproducible steps to test? |
Hi @atugushev ! (I thought the unit test might serve as those steps. It fails on master.) Put an editable in your requirements.in and the same one in a constraints via a second .in file. I can spell that out more precisely if that'd be helpful! |
Usually, editables don't suppose to be in constraints file, but it looks like this bug related to layered workflow. Am I right? |
Yea, I'm generating a lockfile from a base set of requirements. Then I'm using that lockfile as constraints when generating a lockfile for a superset of the base requirements, to keep them in sync. The base requirements include an editable package, so it appears in the lockfile. Thoughts on this workflow? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've finally had a chance to review it deeply. See me comments below:
Thanks for the review @atugushev . I'm certainly on board with your suggestions - I'm glad we don't need all that ordering compat. |
appear in pip-compile output
d2edc6e
to
b677a52
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome!
Thanks, @richafrank! |
If an editable package is both a primary requirement and a constraint, it was being considered as solely a constraint, and so it and its dependencies were excluded from pip-compile output.
Instead of combining the editable requirements, we were returning the first one, and the two are sorted the same up to
"... -c constraints.in"
and"... -r requirements.in"
.Changelog-friendly one-liner: Ensure editables that are both primary reqs and constraints appear in pip-compile output
Contributor checklist