As a user, I can use Katello to manage Python repositories
Pulp has recently released the first version of a new set of plugins that enable users to manage Python packages0. With these plugins, it is currently possible to upload Python packages to repositories, copy packages between repositories, delete packages from repositories, and publish repositories. pip can be used from a consumer machine to install the packages once the repository is published. The Pulp team is currently working on adding support for synchronizing packages from PyPI.
We would love to see Katello add support for this new content type. I'd be happy to offer assistance if it is needed.
#1 Updated by Eric Helms over 4 years ago
- Category set to 91
- Triaged changed from No to Yes
First, apologies for taking so long to get to this, it slipped through my normal Redmine workflows. Based on our prior experiences adding yum, puppet and docker types:
1) Are there any caveats, anything special with respect to Python content type that we'd need to account for? I'd assume we would be creating 'Python repositories'.
2) Would users only upload Python packages? Does sync'ing a remote Python repository make sense? Can you point us at an example?
3) Would there be any special properties of Python repositories we'd want to expose to users? For example, for yum repositories we allow setting the checksum.
4) Is this available in an official release? Which one if so?
#2 Updated by Randy Barlow about 4 years ago
First. apologies for taking so long to respond to your questions ☺
1) Yes, you would be creating Python repositories. The Python plugins do not include "consumer" support (yet), so there would not be any component for installing packages on systems.
2) It is possible to synchronize packages with PyPI:
3) All of the importer and unit attributes are documented here:
There is really only one special setting for the importer, which is a list of packages you wish it to sync from PyPI. Other than that, it supports the usual importer settings that the platform supports.
4) The 1.0.0 release contains all of the above!