https://github.com/utmapp/qemukit
Swift interface to QEMU, QMP, and QEMU guest agent.
https://github.com/utmapp/qemukit
Last synced: 10 months ago
JSON representation
Swift interface to QEMU, QMP, and QEMU guest agent.
- Host: GitHub
- URL: https://github.com/utmapp/qemukit
- Owner: utmapp
- License: apache-2.0
- Created: 2023-06-25T00:13:59.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-08-03T02:17:36.000Z (11 months ago)
- Last Synced: 2025-08-03T03:23:10.797Z (11 months ago)
- Language: Python
- Size: 925 KB
- Stars: 76
- Watchers: 5
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# QEMUKit
Swift interface to QEMU, QMP, and QEMU guest agent.
## Updating Interfaces
To update the generated sources to support a new release of QEMU, run:
```bash
$ ./generateQapi.sh /path/to/qemu
```
Where `/path/to/qemu` is a path to the QEMU source files.
## Usage
```swift
import QEMUKit
import QEMUKitInternal
Task {
let qemu = QEMUVirtualMachine()
// set delegate to handle events
await qemuVM.setDelegate(...)
// start QEMU using a launcher and interface implementation
try await qemuVM.start(launcher: system, interface: ioService)
// run something from the monitor
try await qemuVM.monitor?.continueBoot()
// run something from guest agent
try await qemuVM.guestAgent?.guestSetTime(NSDate.now.timeIntervalSince1970)
}
```
Note: You must link with glib-2.0