refactor requirement preparer to remove duplicated code paths for metadata-only dists #12871
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.
This PR is on top of #12863; see the
+181/-153
diff against it at https://github.com/cosmicexplorer/pip/compare/dist-caching-changes...cosmicexplorer:pip:refactor-requirement-preparer?expand=1.Problem
There is a lot of duplicated code in
RequirementPreparer
for the metadata-only and "normal" code paths. Regarding @pfmoore's analysis from #12186 (comment):Solution
_prepare_linked_requirement()
into private helper methods.Result
Less duplicated code, and hopefully
RequirementPreparer
will be easier to maintain.