Skip to main content

VirtUI Manager

Project Website

A powerful, text-based Terminal User Interface (TUI) application for managing QEMU/KVM virtual machines using the libvirt Python API.

Main

Why VirtUI Manager?

Managing virtual machines in a terminal environment has never been easier or more powerful. VirtUI Manager bridges the gap between the simplicity of command-line tools and the rich functionality of GUI-based solutions, offering the best of both worlds for virtualization administrators.

The Problem with Traditional Tools

  • Virt-manager requires X11 forwarding, which is slow, resource-intensive, and often impossible in remote environments
  • GUI-based solutions are heavy with X dependencies, making them unsuitable for headless servers or low-bandwidth connections
  • Command-line tools lack the intuitive interface needed for complex VM management tasks
  • Cockpit Machine is feature incomplete, and needs a lot of depencies. It is not multi hypervisor oriented
  • Complex Deployment no tools to easily manage auto-installation of Virtual Machine with registration process

Why VirtUI Manager is Different

VirtUI Manager solves these challenges with:

  • Lightweight Terminal Interface: No X11 dependencies, works perfectly over SSH
  • Remote Management: Efficient low-bandwidth control of remote libvirt servers
  • Rich Feature Set: Advanced VM management capabilities in a simple, intuitive interface
  • Multi-server Support: Manage VMs across multiple libvirt servers from a single interface
  • Performance Optimized: Built-in caching reduces libvirt calls and improves responsiveness (include a tracking resources call tool)
  • Libvirt Event handler: Only get update on event from libvirt
  • Migration Support: Live and offline VM migration capabilities and custom migration
  • Bulk Operations: Execute commands across multiple VMs at once (including configuration)
  • Web Console Access: Integrated VNC support with novnc over ssh tunnel for remote server
  • CMD line interface: improved command line to manage VMs: multi hypervisors, VMs selection, clone operation, bulk command, install VM, etc...
  • Auto Installation: Support auto installation for Debian, Ubuntu, Fedora, Archlinux, Alpine, OpenSUSE and SLES (with SCC registration)

Documentation

VirtUI Manager doc

CI check

CI Check

Flatpak build

Build Flatpak

Requirements

  • Recommended Minimal Terminal Size: 34x92. 34x128 is the recommended Size
  • Remote Connection: SSH access to libvirt server (ssh-agent recommended)
  • Python 3.7+
  • libvirt with Python bindings
  • libosinfo and osinfo-db for dynamic OS version discovery
  • Python Dependencies: see requirements.txt file
  • Optional: virt-viewer, novnc, websockify for enhanced functionality
  • Tmux: To edit file with pseudo terminal

Note about Libvirt API

As there is no simple way to get sound and network model using libvirt API, the user can provides a list in his own configuration file.

To get a list of model for a machine type you can use the qemu command line:

qemu-system-x86_64 -machine pc-q35-10.1 -audio  model=help
qemu-system-x86_64 -machine pc-q35-10.1 -net  model=help

Possible User config parameters:

  • network_models: List of allowed network models (default: ['virtio', 'e1000', 'e1000e', 'rtl8139', 'ne2k_pci', 'pcnet'])
  • sound_models: List of allowed sound models (default: ['none', 'ich6', 'ich9', 'ac97', 'sb16', 'usb'])

Contributing

CONTRIBUTING.md

AI Assist

AI assistance is used to improve coding efficiency by automating boilerplate, suggesting relevant code completions, quickly detecting bugs, update the documentation, write test cases.

License

This project is licensed under the GPLv3 License.

Metadata

Release files for virtui-manager 3.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for virtui-manager 3.3.3
File Size Uploaded
virtui_manager-3.3.3.tar.gz 611.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for virtui-manager 3.3.3
File Interpreter ABI Platform
virtui_manager-3.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / virtui_manager-3.3.3.tar.gz

Download URL virtui_manager-3.3.3.tar.gz
Size 611.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a266ca72cf75ddd0dd7f9cbc2650b9fd8497f8f2a472c6c12227f754d73e3226
BLAKE2b-256 checksum
How to use checksums
0905ba06e9e35f95655827a5537f28f4b771365a88b179395993ce5a912bcae7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / virtui_manager-3.3.3-py3-none-any.whl

Download URL virtui_manager-3.3.3-py3-none-any.whl
Size 620.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
919e3b8ca4a1360654233e55c91718a103316ca3ba4760facd94eb35680f662d
BLAKE2b-256 checksum
How to use checksums
923401946d5573d561576766c4ecb4d7ce737cfb15b6545abf9d874854391b3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

3.3.3 This release

2 release files

3.3.2

2 release files

2.4.8

2 release files

2.4.6

2 release files

2.4.4

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.0.0

2 release files

1.9.3

2 release files

1.9.1

2 release files

1.8.0

2 release files

1.7.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.1.6

2 release files

1.1.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page