You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Pull-through caching does not create the metadata artifact for wheels #1087
When using pull-through caching if you pull a wheel that has metadata artifact the content will be created but the metadata artifact won't be saved even though the metadata_sha256 field gets set. Thus when doing a second request, if the content was added to the repository, pip will try to fetch the metadata file and fail.
Is the solution to just create the metadata artifact directly off the wheels? So pulp would never interact with the .metadata files in the upstream, since it creates the metadata info/sha256 directly off the wheel anyway. Is it as simple as updating init_from_artifact_and_relative_path to create a metadata artifact and return that in the tuple structure?
I dont know if its a problem from my site but I still get exactly the described problems with downloading python packages from a pull-through caching remote.
If I now install for example pandas via pip it works just fine. If i then try to install it again in another venv it fails with such an error: Collecting pandas ERROR: HTTP error 404 while getting https://<my-domain>com:443/pulp/content/pypi-mirror2/pandas-3.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata ERROR: 404 Client Error: Error while fetching from upstream remote(https://pypi.org/pandas-3.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata): Not Found for url: https://<my-domain>:443/pulp/content/pypi-mirror2/pandas-3.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata.
@DNZKOC The problem is that pull-through caching is not supported when using publications. This is our fault for not properly updating the docs, but currently we do not recommend using publications at all with pulp-python. All the new features we've been adding, pull-through caching, simple json, attestations..., they all were built around the live endpoints at /pypi/ which don't require publications. Creating a publication for a repository will cause the live endpoints to try to use that publication, but since the publications don't have support for any of the new features you will end up with broken behavior outside of very basic pip installs. So I would go ahead and delete all the publications you have created, turn off autopublish=True on any repository, and unset any distribution's publication field replacing it with repository or repository_version. I'm going to get to work on #1000.
@gerrod3 Thank you very much for the fast answer. I just created a new repository/distribution without a publication and everything worked just fine. And yes the documentation was misleading in that regard, I should have looked into the open issues tho.
Activity
Kimahriman commentedon Feb 5, 2026
Is the solution to just create the metadata artifact directly off the wheels? So pulp would never interact with the .metadata files in the upstream, since it creates the metadata info/sha256 directly off the wheel anyway. Is it as simple as updating
init_from_artifact_and_relative_pathto create a metadata artifact and return that in the tuple structure?Fix pull-through not saving metadata artifact
gerrod3 commentedon Feb 5, 2026
@Kimahriman Yep, I've updated #1086 with a second commit to fix this issue as well.
Fix pull-through not saving metadata artifact
DNZKOC commentedon Mar 16, 2026
I dont know if its a problem from my site but I still get exactly the described problems with downloading python packages from a pull-through caching remote.
My Pulp Repository creation:
If I now install for example pandas via pip it works just fine. If i then try to install it again in another venv it fails with such an error:
Collecting pandas ERROR: HTTP error 404 while getting https://<my-domain>com:443/pulp/content/pypi-mirror2/pandas-3.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata ERROR: 404 Client Error: Error while fetching from upstream remote(https://pypi.org/pandas-3.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata): Not Found for url: https://<my-domain>:443/pulp/content/pypi-mirror2/pandas-3.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata.gerrod3 commentedon Mar 16, 2026
@DNZKOC The problem is that pull-through caching is not supported when using publications. This is our fault for not properly updating the docs, but currently we do not recommend using publications at all with pulp-python. All the new features we've been adding, pull-through caching, simple json, attestations..., they all were built around the live endpoints at
/pypi/which don't require publications. Creating a publication for a repository will cause the live endpoints to try to use that publication, but since the publications don't have support for any of the new features you will end up with broken behavior outside of very basic pip installs. So I would go ahead and delete all the publications you have created, turn offautopublish=Trueon any repository, and unset any distribution'spublicationfield replacing it withrepositoryorrepository_version. I'm going to get to work on #1000.DNZKOC commentedon Mar 17, 2026
@gerrod3 Thank you very much for the fast answer. I just created a new repository/distribution without a publication and everything worked just fine. And yes the documentation was misleading in that regard, I should have looked into the open issues tho.