sentence: internals libvirt supports several hypervisor and is supported by several management solutions libvirt itself is a c library , but it has bindings in other languages , notably in python , perl , ocaml , ruby , java , and php .