Way to preserve upload-time metadata for pull-through repository
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 49
- Forks
- 88
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 31
Description
Is your feature request related to a problem? Please describe.
I would like to use pulp's python plugin for a pull-through repository that mirrors pypi, so that I always have packages I depend on available locally (even if pypi goes down or a package is pulled from it, similar to left-pad). However, I also make use of dependency cooldowns using pip's --uploaded-prior-to and uv's --exclude-newer. A pulp pull-through repository shows the source upload-time metadata before it is copied, but after copying shows the time it was copied (uploaded to pulp). This prevents me from using pulp as a pull-through mirror alongside --uploaded-prior-to/--exclude-newer.
The upload-time changing when the package is copied seems like it could generally cause confusion or difficulty anyway.
Describe the solution you'd like
I don't have a clear idea of how this could be solved, but it makes sense to me for pull-through repositories to be transparent, and not change the upload-time metadata. Perhaps it could be an option when enabling pull-through?
Additional context
#1370 currently prevents actually using --uploaded-prior-to/--exclude-newer, but inspecting pulp's simple repository API JSON responses has made it apparent that this would be an issue for my use-case even if #1370 were fixed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the simple repository API JSON responses mentioned in the issue and the related constraints in #1370. Define how a pull-through repository should preserve the source upload-time metadata, including whether this is configurable, and verify that copied packages expose the expected original timestamp.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100