feat: pull recursively to include subject references #132
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.
Hi folks 👋
I've noticed the Python Oras client library has kind of rudimentary support for attached artifacts. I'd like to address a couple of UX caveats in several PRs. Please let me know if it's heading in the right direction or if you have a different perspective.
Provide means to pull referred artifacts similar to
oras pull --include-subject
:While
oras-py
supports including a subject when pushing a manifest, it does not support pulling the referenced artifact. I've inspired myself in theoras
CLI, which has a--include-subject
flag. I've tried to inspire myself in theirpull
implementation as well however, this would require a quite substantial rewrite of theoras-py
pull logic -oras
CLI uses a graph approach to collect blobs to be pulled, whileoras-py
simply iterates through the layers list. Therefore I've resorted to a recursivepull
call based on the subject digest. This may raise some potential issues in the future since, well... it's recursion and it's synchronous. 🤷This PR depends on #131