Project

Profile

Help

Story #2885

As a User I can Publish Python packages in a way that is consumable by pip

Added by amacdona@redhat.com over 2 years ago. Updated 6 months ago.

Status:
MODIFIED
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

100%

Platform Release:
Blocks Release:
Target Release - Python:
Backwards Incompatible:
No
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:
Sprint 34

Description

This story is to extend the Publisher model and serializer with all Python specific fields and to implement publish.

Publisher.publish() should only be concerned with implementing the the simple API (which is consumed by pip). When this story is complete, the user will be able to create a Publisher, use it to publish a Repository with PythonPackageContent in it, creating a Publication. The user will be able to associate that Publication to a Distribution, and then pip will be able to install packages from the distribution.base_path.

https://wiki.python.org/moin/PyPISimple
https://www.python.org/dev/peps/pep-0301/

For every unique project in a repository pulp should distribute a HTML page located at: { distribution.base_path.}/simple/{project-name}/

This HTML page should contain every distribution package that shares the same project name and should look like:

<!DOCTYPE html>
<html>
<head>
  <title>Links for pulpcore</title>
</head>
<body><h1>Links for pulpcore</h1>
<a href="{link-to-content}#md5={md5_hash}" rel="internal">{PythonPackageContentUnit.filename}</a><br/>

<a href="../../packages/02/ee/3ceee60a9694b9462c62eee3df0d2b3e525be82750bc3f9e8b4d21a0cfb7/pulpcore-3.0.0a1.dev5-py3-none-any.whl#md5=16f188762c54527815557af8a7067234" rel="internal">pulpcore-3.0.0a1.dev5-py3-none-any.whl</a><br/>

<a href="../../packages/03/6c/e48eb03fa930a36838b3ff92e4367d901bb09e725859e0030b3bb40dff77/pulpcore-3.0.0a1.dev4-py3-none-any.whl#md5=3c8c966327231e8a3f48b70866f3c56a" rel="internal">pulpcore-3.0.0a1.dev4-py3-none-any.whl</a><br/>

</body></html>

The json API (which would be consumed by other Pulps) is not a part of this story, and will be implemented in https://pulp.plan.io/issues/2886


Related issues

Blocked by Python Support - Task #2883: Create model(s) for Python's Releases MODIFIED Actions
Blocked by Python Support - Task #3294: Update Python plugin to sync with versioned repositories MODIFIED Actions

Associated revisions

Revision 3fd41a55 View on GitHub
Added by dalley over 1 year ago

Add publish implementation

Add support for publishing the PyPI simple API, and split the
publish and sync code into different files.

closes #2885
https://pulp.plan.io/issues/2885

History

#1 Updated by amacdona@redhat.com over 2 years ago

  • Blocked by Task #2883: Create model(s) for Python's Releases added

#2 Updated by bizhang almost 2 years ago

  • Sprint/Milestone set to 51

#3 Updated by amacdona@redhat.com almost 2 years ago

  • Description updated (diff)

#4 Updated by amacdona@redhat.com almost 2 years ago

  • Description updated (diff)

#5 Updated by amacdona@redhat.com almost 2 years ago

  • Description updated (diff)

#6 Updated by dalley almost 2 years ago

  • Groomed changed from No to Yes
  • Sprint Candidate changed from No to Yes

#7 Updated by bizhang almost 2 years ago

  • Description updated (diff)

#8 Updated by daviddavis almost 2 years ago

  • Sprint/Milestone changed from 51 to 52

#9 Updated by amacdona@redhat.com almost 2 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to amacdona@redhat.com

#10 Updated by rchan almost 2 years ago

  • Sprint/Milestone changed from 52 to 53

#11 Updated by amacdona@redhat.com almost 2 years ago

  • Blocked by Task #3294: Update Python plugin to sync with versioned repositories added

#12 Updated by jortel@redhat.com over 1 year ago

  • Sprint/Milestone changed from 53 to 54

#13 Updated by dalley over 1 year ago

  • Assignee changed from amacdona@redhat.com to dalley

#14 Updated by rchan over 1 year ago

  • Sprint/Milestone changed from 54 to 56

#15 Updated by dalley over 1 year ago

  • Status changed from ASSIGNED to POST

#16 Updated by bmbouter over 1 year ago

  • Sprint set to Sprint 33

#17 Updated by bmbouter over 1 year ago

  • Sprint/Milestone deleted (56)

#18 Updated by jortel@redhat.com over 1 year ago

  • Sprint changed from Sprint 33 to Sprint 34

#19 Updated by dalley over 1 year ago

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

#20 Updated by bmbouter 6 months ago

  • Tags deleted (Pulp 3)

Please register to edit this issue

Also available in: Atom PDF