Ignore inverse dependencies when building graph #2360
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
It turns out that when we iterate over the incompatibilities of a package, PubGrub will also show us the inverse dependencies. I suspect this was rare, because we have a version check at the bottom... So, this specifically required that you had some dependency that didn't end up appearing in the output resolution, but that matched the version constraints of the package you care about.
In this case,
langchain-community
depends onlangchain-core
. So we were seeing an incompatibility like:Where we were iterating over
langchain-core
, and looking for version0.0.11
... which happens to matchlangchain-community
. (`langchain-community was omitted from the resolution; hence, it didn't exist in the map.)Closes #2358.