# 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
```python
# 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
```python
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
- Ahmet Mutlugun [Github](https://github.com/ahmetmutlugun)
Raw data
{
"_id": null,
"home_page": null,
"name": "vmware-fusion-py",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "vmware, fusion, interface, python, vmware fusion, MacOS, library, virtualization",
"author": null,
"author_email": "Ahmet Mutlugun <ahmet.mutlugun@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/c9/53/62d9148a2938fc41dec95cb19ce4af40a6377a9e22e3c60268fb5f17281e/vmware_fusion_py-1.0.0a1.tar.gz",
"platform": null,
"description": "# vmware-fusion-py\n\nThis 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\n\n## Features\n\n- Full coverage of the `vmrun` CLI\n - Start, stop, reset, suspend, pause, and unpause virtual machines\n - Manage snapshots (create, delete, list, and revert)\n - Manage network adapters (list, add, set, and delete)\n - Manage port forwarding for host networks\n - Run programs and scripts in the guest operating system\n - Manage files and directories in the guest operating system\n - Manage shared folders between the host and guest\n - Interact with the guest operating system (type keystrokes, capture screenshots, etc.)\n - Clone virtual machines\n - Upgrade virtual machines and install VMware Tools\n\n## Prerequisites\n\n- Python 3.x\n- VMware Fusion on MacOS\n- `vmrun` command-line utility (included with VMware Fusion)\n\n## Installation\n### Pip\n`pip install vmware-fusion-py`\n### From Source\n1. Clone the repository or download the source code.\n2. Install the package using `pip install .`\n## Usage\n### Initialization\n```python\n# Get vmrun path or provide the path as a string\nvmrun_path = shutil.which(\"vmrun\")\nif not vmrun_path:\n # vmrun is installed automatically alongside VMware Fusion. Install VMware\n exit()\n# Initiate client\nclient = VMware(vmrun_path=vmrun_path)\n```\n### Presets\n```python\nclient = VMware(\n vmrun_path=\"/path/to/vmrun\",\n host_type=\"ws\",\n vm_password=\"password\",\n guest_user=\"username\",\n guest_password=\"password\",\n vm_path=\"/path/to/vm\"\n)\n```\n## License\nThis project is licensed under the MIT License.\n\n## Contributors\n- Ahmet Mutlugun [Github](https://github.com/ahmetmutlugun)\n",
"bugtrack_url": null,
"license": null,
"summary": "A Python library for interacting with the VMWare Fusion CLI",
"version": "1.0.0a1",
"project_urls": {
"homepage": "https://github.com/ahmetmutlugun/vmware-fusion-py",
"repository": "https://github.com/ahmetmutlugun/vmware-fusion-py"
},
"split_keywords": [
"vmware",
" fusion",
" interface",
" python",
" vmware fusion",
" macos",
" library",
" virtualization"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0cb9b8b3e90c5b419da25f39999cfa4c4594e49e4505a38ca5e6a1f1d655a4cb",
"md5": "2e5e398f67c77056935b5c0fd6097b7f",
"sha256": "3dec2ca35921f73dcaf6a8006960ef6b3c13f60230f4f27fc5e993169b6627b2"
},
"downloads": -1,
"filename": "vmware_fusion_py-1.0.0a1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2e5e398f67c77056935b5c0fd6097b7f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 5329,
"upload_time": "2024-06-18T20:28:56",
"upload_time_iso_8601": "2024-06-18T20:28:56.932923Z",
"url": "https://files.pythonhosted.org/packages/0c/b9/b8b3e90c5b419da25f39999cfa4c4594e49e4505a38ca5e6a1f1d655a4cb/vmware_fusion_py-1.0.0a1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c95362d9148a2938fc41dec95cb19ce4af40a6377a9e22e3c60268fb5f17281e",
"md5": "85a8eba01a7bf008225484fbaf591cf6",
"sha256": "b6afb30b028fde174b0750483b5f957e40467ecbd52e864d4bd18c34ff87b6fb"
},
"downloads": -1,
"filename": "vmware_fusion_py-1.0.0a1.tar.gz",
"has_sig": false,
"md5_digest": "85a8eba01a7bf008225484fbaf591cf6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5182,
"upload_time": "2024-06-18T20:29:00",
"upload_time_iso_8601": "2024-06-18T20:29:00.677084Z",
"url": "https://files.pythonhosted.org/packages/c9/53/62d9148a2938fc41dec95cb19ce4af40a6377a9e22e3c60268fb5f17281e/vmware_fusion_py-1.0.0a1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-18 20:29:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ahmetmutlugun",
"github_project": "vmware-fusion-py",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "vmware-fusion-py"
}