Virtapi
VirtAPI is a Libvirt KVM/QEMU wrapper for API(web) and also comes with CLI tool ( vatool).
Install / Use
/learn @spiperac/VirtapiREADME
VirtAPI 
VirtAPI is awrapper and CLI tool(vatool) for automation of KVM/Libvirt machines. It can be used to create/delete/{start,stop,restart}/clone/migrate virtual machines(domains) on local/remote KVM servers.
- It's also working in nested envinroments, you can try it by creating VM inside digitalocean droplet for example."
Instalation
You will need few more dependencies before installing actual virtapi package. I'll give an example for Ubuntu here:
sudo apt install libvirt-bin libvirt-dev openssl libssl-dev -y
After dependencies are satistfied, you can then install package from this reposutiry by running:
sudo python setup.py install
Or by installing it directly from PyPI ( for stable versions go with this):
sudo pip install virtapi
Features & TODO
Futures:
- Connect to the KVM local or remote host ( get host data/info/metrics)
- Create new domain(virtual machine) from predefined templates in QCOW2 format or image, and based on selected plan size.
- Delete domain and all of it resources ( disks attached etc...)
- Clone/Migrate existing domain and it specifications.
- Add/Delete templates for domain(VM) creation.
- Add/Delete Plans for domain(vm), think of them as a digitalocean, aws plans. For example small plan is: 512MB for ram, 1 VCPU, and 15GB hdd drive space.
- Manage additional disks and drives. You can "hot plug" them too.
You can use it as a CLI tool (vatool binary), but also you can plug it in your application as an API. After installing it as a package you will have vatool binary in your path.
TODO:
- Add more options for managing KVM/Libvirt Host.
- Add ansible for provision of the hosts.
- Better error handling.
- Better logging.
- In the future cover few more cloud APIs.
Demo
Development
There are always things to be fixed or added, or simply forgoten things. So any suggestions/pull requests/issues are welcome, since i'm developing this in my free time.
Requirements for development are in requirements.txt file inside package.
Contact
You can find me on twitter @0xbadarg or you can hit me an email at spiperac@denkei.org
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
108.0kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
347.2kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.

