What is Pulp?
Pulp is a Python application for managing software repositories and their associated content, such as packages, errata, and distributions. It can replicate software repositories from a variety of supported sources, such as http/https, file system, ISO, and RHN, to a local on-site repository. It provides mechanisms for systems to gain access to these repositories, providing centralized software installation.
Pulp provides tracking of which systems are using which repositories along with a full system history of installation actions. It uses a fine-grained, roles-based, permission model (RBAC) that provides authentication and authorization for repositories, including integration with external LDAP.
Pulp can define groups for repositories, packages, and systems and use those groups for bulk operations. It can define and enforce system maintenance windows. It also maintains an inventory of system package profiles, both current and historical information on any changes. It provides fully configurable auditing of all user-initiated actions.
Pulp has a fully documented RESTful API and command line interface for management. It uses SSL secured communications between client and Pulp server for both API operations and repository access. Its command line interface, data storage, and error messaging are all fully localized.
Resources
- Installation
- User Guide
- Developer Blog
- Project Wiki
- Mailing List
- Chat/IRC: #pulp on freenode
Join Us - You Can Help!
Codebase Summary
- Written in Python
- Agent, Client, Server
- Architecture and Components
How To Get Started
Code Repository
- git://git.fedorahosted.org/git/pulp.git/
The Crew

Jason L Connor
linear on freenode
Jay Dobies
jdob on freenode
David Gao
dgao on freenode
Sayli Karmarkar
sayli on freenode
Pradeep Kilambi
prad on freenode
John Matthews
jmatthews on freenode
Jeff Ortel
jortel on freenode
Todd Sanders
tsanders on freenode
James Slagle
slagle on freenode
Preethi Thomas
preethi on freenode