New API bits for pip: plugin loading, and wheel file supported check #87
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.
Quite a big and not yet complete: I still need to add more checks and tests.
DistMetadata
for distributionMETADATA
filesVariantPyProjectToml
forpyproject.toml
VariantsJson
forvariants.json
VariantMetadata
model that covers the common bits, plus have their own extra fields.PluginLoader
now has a constructor that accepts anyVariantMetadata
subclass and loads plugins from it.Forget_variant_hashes_by_priority()
,plugin_loader
is now optional, so you can either pass your own or let it load plugins fromvariants.json
. This is similar to Variant Plugin Auto install #86 but it preserves the ability to provide custom loader, which will probably be useful for pip isolated envs.check_variant_supported()
function that can be used to check whether a single variant description can be installed — now used by pip when installing local files.The classes are pretty robust now, and I think we will use them in the future to reimplement some of the commands that now inline metadata reading and writing.