top band

Host Your Own PyPI With Pulp

Randy Barlow

Audience level:
Systems Administration


Pulp is an open source platform for managing repositories of content and pushing that content out to remote systems. It can be used to manage Yum, Puppet, and Docker content. A new plugin has been written for Python repositories. With this plugin Pulp can be used to host your own PyPI and much more. This session will demonstrate the use of this plugin and show how to extend Pulp for your needs.


The [Pulp Project] is an open source content repository management system written in Python. Pulp makes it easy for administrators to push software from repositories to a large number of systems. It aids the user in performing many common tasks, such as promoting packages from development to testing and from testing to production with simple commands. Pulp is also designed for integration. It features a documented REST API and an event notification system. By integrating with Pulp, users can use events to trigger other actions in their work flows, such as having a repository publish trigger deployment of a test system. Pulp also supports plugins so that various types of content can be supported and benefit from these work flows. Traditionally, Yum and Puppet repositories have been supported. The Pulp team has been developing further plugins for Docker and OpenStack repositories as well. Recently, [a new plugin set for Python packages][python] was created. Using these plugins, it is possible to create Python repositories and to upload Python source tarballs into them. After publishing, pip can be used to install those Python packages on remote systems. There is a lot of potential for further features, and the Pulp Project is seeking users and community contributions to expand what Pulp can do with Python packages. For example, Pulp could be used to manage virtualenvs on remote systems, or automatically synchronize packages from PyPI. There are many possibilities, and we are very excited about the future of this plugin and the project. We are also interested in seeing third party plugins for other types being developed as we often get requests for many other sorts of content. View our [source code] on github, or read more about us in our [documentation]. Please stop by to learn about what we are doing and how you can get involved! [Pulp Project]: [python]: [documentation]: [source code]:
bottom band background