Anaconda has nice pyanaconda.storage module, which could be used also outside Anaconda. But it needs to be packaged separately. The goal is to use pyanaconda.storage (or similar) module without all the Anaconda dependencies like GTK, tigervnc, syslinux etc., with as-stable-as-possible and documented(!) API.
Here is a link to the first build of python-blivet for f19/rawhide:
I still have some work to do to ensure that it does not do anything undesirable when used outside the installer, though, so beware.