vmware-fusion-py

A Python library for interacting with the VMWare Fusion CLI


Keywords
vmware, fusion, interface, python, MacOS, library, virtualization, vmware-fusion, wrapper, wrapper-library
License
MIT
Install
pip install vmware-fusion-py==1.0.0b1

Documentation

PyPI - Version GitHub License

vmware-fusion-py

This Python module provides a convenient way to control and interact with VMware Fusion virtual machines using the vmrun command-line utility. Built and tested for VMware Fusion on arm64 MacOS

Features

  • Full coverage of the vmrun CLI
    • Start, stop, reset, suspend, pause, and unpause virtual machines
    • Manage snapshots (create, delete, list, and revert)
    • Manage network adapters (list, add, set, and delete)
    • Manage port forwarding for host networks
    • Run programs and scripts in the guest operating system
    • Manage files and directories in the guest operating system
    • Manage shared folders between the host and guest
    • Interact with the guest operating system (type keystrokes, capture screenshots, etc.)
    • Clone virtual machines
    • Upgrade virtual machines and install VMware Tools

Prerequisites

  • Python 3.x
  • VMware Fusion on MacOS
  • vmrun command-line utility (included with VMware Fusion)

Installation

Pip

pip install vmware-fusion-py

From Source

  1. Clone the repository or download the source code.
  2. Install the package using pip install .

Usage

Initialization

# Get vmrun path or provide the path as a string
vmrun_path = shutil.which("vmrun")
if not vmrun_path:
    # vmrun is installed automatically alongside VMware Fusion. Install VMware
    exit()
# Initiate client
client = VMware(vmrun_path=vmrun_path)

Presets

client = VMware(
    vmrun_path="/path/to/vmrun",
    host_type="ws",
    vm_password="password",
    guest_user="username",
    guest_password="password",
    vm_path="/path/to/vm"
)

License

This project is licensed under the MIT License.

Contributors