Programming languages

The libvirt repository makes use of a large number of programming languages. It is anticipated that in the future libvirt will adopt use of other new languages. To reduce the overall burden on developers, there is thus a general desire to phase out usage of some of the existing languages.

The preferred languages at this time are:

  • C - for the main libvirt codebase. Dialect supported by GCC/CLang only.

  • Python - for supporting build scripts / tools. Code must run with both version 2.7 and 3.x at this time.

Languages that should not be used for any new contributions:

  • Perl - build scripts must be written in Python instead.

  • Shell - build scripts must be written in Python instead.