RPM is a decent system for listing dependencies among packages. In its simplest form it works quite well. Dependency management can become troublesome if you have a system that provides numerous packages. Worse yet, if you provide many packages for many different versions of a software application. This library aims to provide a rich set of combinators to assert the validity of a collection of RPMs.