Upmf is a source-based package manager written almost completely in Scheme. The user is able to search, build, and remove packages. Since Scheme through GUILE is very extensible, the user can customize the procedures, or even exchange them with his own, if wanted. Packages are stored in their own self-contained directories and are incorporated into the filesystem with help of GNU Stow.