Project

Profile

Help

Story #2886

As a user, I can publish a Python repository in a way that can be consumed by Pulp

Added by amacdona@redhat.com about 3 years ago. Updated 18 days ago.

Status:
MODIFIED
Priority:
High
Assignee:
Sprint/Milestone:
Start date:
Due date:
% Done:

100%

Estimated time:
Platform Release:
Target Release - Python:
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Quarter:

Description

This story is to implement PyPI's json API. This story is successful when a second Pulp can sync from a repository published by this Pulp.

Since we want to use the resulting api for both upload from twine, and syncing from Pulp we should provide a 'live' endpoint for the packages without using Pulp's publication/distribution mechanism, since those objects are only used for a 'flat' publish.

We would need a new view that would dynamically generate the json and the url for each PythonPackageContent, the 'url' in the json would link to the location of the package in the Content View.

This new view would provide an endpoint like

/pypi/{repo-name}/{package-name}/json

for each package in a repository. This new view would not have to support upload requests from twine, as that will be done in #2887


Related issues

Blocked by Python Support - Story #2884: As a user I can sync from PyPIMODIFIED

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

Associated revisions

Revision c252306d View on GitHub
Added by gerrod 24 days ago

Implemented PyPi json API

Pulp now supports PyPi's json API with the new content endpoint '/pypi/{package-name}/json'. This will enable basic syncing from other Pulp instances. Also package classifiers are now included in Python content.

fixes: #2886 https://pulp.plan.io/issues/2886 fixes: #3627 https://pulp.plan.io/issues/3627

History

#1 Updated by amacdona@redhat.com about 3 years ago

  • Blocked by Story #2884: As a user I can sync from PyPI added

#2 Updated by mhrivnak about 3 years ago

Do you have any thoughts or a recommendation around prioritizing this one vs #2885 ?

#3 Updated by amacdona@redhat.com about 3 years ago

This is only necessary for Pulp syncing from Pulp, so if only considering this plugin, this could be a pretty low priority. It is in the MVP, but could be done near the release.

This story could go into some exciting new territory, to create a custom API endpoint that implements PyPI's json API. Since the json API is simpler than puppet or crane, this story might be worth doing soon as a prototype for other plugins.

#4 Updated by bizhang almost 3 years ago

  • Sprint/Milestone set to 51

#5 Updated by bizhang almost 3 years ago

  • Description updated (diff)

#6 Updated by bizhang almost 3 years ago

  • Sprint/Milestone deleted (51)

#7 Updated by bizhang over 2 years ago

  • Sprint/Milestone set to 3.0 GA

#8 Updated by bizhang about 2 years ago

  • Priority changed from Normal to High

#9 Updated by bmbouter over 1 year ago

  • Tags deleted (Pulp 3)

#10 Updated by dalley about 2 months ago

  • Status changed from NEW to POST
  • Assignee set to gerrod

#11 Updated by gerrod 18 days ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100

Please register to edit this issue

Also available in: Atom PDF