[Pulp-dev] Feedback Wanted, Upcoming Changes in Pulp Python

Gerrod Ubben gubben at redhat.com
Tue May 18 21:36:33 UTC 2021

Hey everyone,

I am currently working on the long-awaited Twine upload support [0] for
pulp_python. To add this functionality a new upload endpoint is needed.
Since this new endpoint will need to be able to accept POST requests I plan
to make the Python endpoints apart of the Pulp API.

Proposed change: Have Python endpoints available at
API Current Location New Location Description
simple $PULP_CONTENT_ADDR/pulp/content/{base_path}/simple/
$PULP_BASE_ADDR/pulp_python/pypi/{base_path}/simple/ Used for installing
pypi $PULP_CONTENT_ADDR/pulp/content/{base_path}/pypi/
$PULP_BASE_ADDR/pulp_python/pypi/{base_path}/pypi/ Used for syncing
**$PULP_BASE_ADDR/pulp_python/pypi/{base_path}/simple/* Used for uploading

The current Python endpoints will still be available at their present
locations (and will be used as the backbone for the new locations) and the
new upload endpoint will be available at '/legacy/' since the default PyPI
endpoint Twine uses is 'https://upload.pypi.org/legacy/'. Pip stores its
index URLs in a 'pip.conf' file [1]  and Twine stores its index URLs in the
'.pypirc' file [2], so to have an easy setup across all Python tools I am
thinking of also having the upload functionality available at the simple
URL. This way one URL can be used for the Pulp Python index across all the
Python tooling.

An example workflow with these new changes:

> pulp python repository create --name foo
> pulp python distribution create --name foo --base-path foo --repository foo
> export PULP_PYTHON_INDEX=$PULP_BASE_ADDR/pulp_python/pypi/foo/simple/
> twine upload --repository-url $PULP_PYTHON_INDEX dist/* --skip-existing
> pip install -i $PULP_PYTHON_INDEX pulpcore

Do these changes concern anyone? Would a different name for the upload
endpoint be preferred? Should the simple endpoint also support uploading
packages? I plan on having this feature fully complete and ready for review
by the end of the week, May 21st. Any feedback before then would be

[0] https://github.com/pulp/pulp_python/pull/367
[1] https://pip.pypa.io/en/stable/user_guide/#configuration
[2] https://packaging.python.org/specifications/pypirc/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20210518/aac5bc22/attachment.htm>

More information about the Pulp-dev mailing list