Skip to content


Repository files navigation


Build Status

API Documentation

Go API for manipulating libvirt XML documents

This package provides a Go API that defines a set of structs, annotated for use with "encoding/xml", that can represent libvirt XML documents. There is no dependency on the libvirt library itself, so this can be used regardless of the way in which the application talks to libvirt.

Development status

This API is considered to be production ready; note however that, while unnecessary changes will be avoided, there are overall no strong stability guarantees.

Please see the VERSIONING file for information about release schedule and versioning scheme.



The libvirt project aims to add support for new XML elements to libvirt-go-xml-module as soon as they are added to the main libvirt C library. If you are submitting changes to the libvirt C library that introduce new XML elements, please submit a libvirt-go-xml-module change at the same time. Bug fixes and other improvements to the libvirt-go-xml-module library are welcome at any time.

For more information, see the CONTRIBUTING file.