One Python file boots 20 guest operating systems across 7 CPU architectures -- on Linux, macOS and Windows.
Need to test your code on FreeBSD? On NetBSD/sparc64? On Solaris, Haiku, or Plan 9? One command:
anyvm --os freebsd -- uname -aanyvm.py is a single Python file with no third-party dependencies. It picks a
prebuilt, CI-verified guest image, downloads it, configures QEMU with defaults
that actually work for that guest and that architecture, boots it, and drops
you into an SSH session -- or runs your command inside the guest and exits.
No libvirt, no Vagrant, no VirtualBox, and no image to build yourself.
pip install anyvm.py # or: brew install anyvm-org/tap/anyvm
anyvm --os freebsdPrefer a container? docker run --rm -it ghcr.io/anyvm-org/anyvm:latest --os freebsd
Or launch straight into a ready-made cloud environment:
A few more things it does out of the box:
# Pick a release and a CPU architecture
anyvm --os netbsd --release 11.0 --arch sparc64
# Share a host folder with the guest
anyvm --os freebsd -v "$PWD:/data"
# Boot a desktop image and open it in your browser
anyvm --os openbsd --release 7.9-xfce- One file, standard library only. Nothing to compile, nothing to vendor.
Copy
anyvm.pyaround and it works. - Images are prebuilt and boot-tested. Every image in the matrix below is produced and verified by its own builder repository in this organization, on every release -- so a green check means that guest really boots on that architecture today.
- Acceleration is automatic. KVM, HVF or WHPX is detected and used when available, with a clean fall back to TCG emulation when it is not.
- Folder sync that works everywhere. Seven backends (
rsync,sshfs,nfs,sys-nfs,scp,9p,tar), including a bundled pure-Python NFS server so even Windows and macOS hosts can export a directory without root, and atarstream for the guests that ship no sshd at all. - A graphical console in your browser. The built-in VNC web UI starts by
default, with clipboard, fullscreen, optional password, and one-flag public
tunnelling via
--remote-vnc. - Desktops, not just shells. XFCE, GNOME, KDE, MATE, LXQt and more ship as ready-to-boot desktop images for several guests.
Each column also covers the 32-bit member of its own family rather than earning
the table an extra axis: x86_64 covers i386 (ReactOS has only that one;
Hurd ships both), and aarch64 covers 32-bit armv7, which today means RISC
OS and only RISC OS. Both resolve their own architecture -- --os reactos and
--os riscos need no --arch.
Hosts: Linux, macOS and Windows, natively on x86_64 and arm64. See the anyvm README for the full host-to-guest support table.
The same images run inside the vmactions GitHub
Actions -- freebsd-vm, openbsd-vm, netbsd-vm, solaris-vm and friends --
which execute your CI steps inside a real BSD or illumos guest on GitHub's
Linux runners.
Core
| Repository | What it is |
|---|---|
| anyvm | The launcher: one Python file, no dependencies, every guest and architecture above. |
| docker | Run any guest inside a Docker container -- disposable environments for CI and throwaway work. |
| homebrew-tap | brew install anyvm-org/tap/anyvm, with QEMU pulled in as a dependency. |
AI agents
| Repository | What it is |
|---|---|
| mcp | MCP server -- let Claude Code, Copilot or any MCP client boot and drive VMs for you. |
| anyvm-skill | Agent skill file that teaches an assistant to use anyvm from plain-language requests. |
Images
base-builder is the single template every image builder is generated from. Each guest then gets its own builder repository, which builds, boots and publishes that guest's images:
blissos · dragonflybsd · freebsd · ghostbsd · haiku · hurd · midnightbsd · netbsd · nextbsd · omnios · openbsd · openeuler · openindiana · plan9 · reactos · redox · riscos · solaris · tribblix · ubuntu
Infrastructure
| Repository | What it is |
|---|---|
| nfsd | A user-space NFSv3/v4.0/v4.1/v4.2 server in one pure-Python file. Powers --sync nfs on any host, no root and no kernel module. |