Project

Profile

Help

Story #2886

closed

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

Added by amacdona@redhat.com over 6 years ago. Updated about 3 years ago.

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

100%

Estimated time:
Platform Release:
3.0.0
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

Actions
Actions #1

Updated by amacdona@redhat.com over 6 years ago

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

Updated by mhrivnak over 6 years ago

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

Actions #3

Updated by amacdona@redhat.com over 6 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.

Actions #4

Updated by bizhang over 6 years ago

  • Sprint/Milestone set to 51
Actions #5

Updated by bizhang over 6 years ago

  • Description updated (diff)
Actions #6

Updated by bizhang over 6 years ago

  • Sprint/Milestone deleted (51)
Actions #7

Updated by bizhang almost 6 years ago

  • Sprint/Milestone set to 3.0 GA
Actions #8

Updated by bizhang over 5 years ago

  • Priority changed from Normal to High
Actions #9

Updated by bmbouter almost 5 years ago

  • Tags deleted (Pulp 3)
Actions #10

Updated by dalley over 3 years ago

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

Added by gerrod over 3 years ago

Revision c252306d | View on GitHub

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

Actions #11

Updated by gerrod over 3 years ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100
Actions #12

Updated by dalley about 3 years ago

  • Platform Release set to 3.0.0

Also available in: Atom PDF