virt 0.1.7

Rust bindings to the libvirt C library
Documentation

This crate provides a Rust bindings to the libvirt C library

The binding tries to be a fairly direct mapping of the underling C API with some differences to respect Rust conventions.

Important considerations

Make sure to have libvirt-dev or libvirt-devel package (or the development files otherwise somewhere in your include path).

The library is still under development and the API is not quite stable yet.

The binding uses standard errors handling from Rust. Each method (there are some exceptions) is returning a type Option or Result.

Documentation

Testing/Exercises

CI is executing tests automatically from libvirt 1.2.0 to 2.5.0. Using Rust from beta to nightly.

For executing tests and other excerices

cargo test --verbose -- --nocapture

For executing examples

cargo run --example hello -- test:///default

Contributing

Any bug fixes and other improvements are welcome at any time. It's possible to look at what is missing by running command like:

$ python tools/api_tests.py virDomain
{'file': 'libvirt-domain', 'name': 'virDomainMigrateSetMaxSpeed', 'module': 'libvirt-domain'}
{'file': 'libvirt-domain', 'name': 'virDomainRef', 'module': 'libvirt-domain'}
{'file': 'libvirt-domain', 'name': 'virDomainGetMemoryParameters', 'module': 'libvirt-domain'}
...