Skip to main content

KVM/QEMU virtual-machine domain library for the Magogi Foundation

Project description

mgf-vm

KVM/QEMU virtual-machine domain library for the Magogi Foundation.

mgf-vm is the reusable VM-management core — VM lifecycle, creation, configuration, monitoring, networking, storage, host-environment setup, security isolation, and forensics — carved out so any consumer (a CLI, a GUI, a service) can build on it without re-implementing the domain.

  • Import: import mgf.vmmgf is a PEP 420 namespace package.
  • Install: pip install mgf-vm (from the foundation's private index).
  • Provider seam: no module imports libvirt directly — every hypervisor call goes through the VMProvider ABC, with a MockProvider for tests.

Conformance: L2 per mgf-common/docs/standards/. Tracker: docs/inprogress/MGF_STANDARDS_CONFORMANCE.md. Four declined groups (DEP / GUI_CONSUMERS / PRESENTATION_LAYER / WORKFLOWS) all per SP-02 layering — mgf-vm is a domain library; presentation + deployment belong in consumers.

Place in the federation

mgf-vm is a federation library (sibling): it depends only on mgf-common and never on another mgf-* sibling or on a consumer application. The reference consumer is the VManager CLI/GUI app.

See docs/CLAUDE.md for the project reference, SCOPE.md for what does and does not belong here, and USERS.md for the consumers.

libvirt-python

libvirt-python is not a pip dependency — it ships as the system package python3-libvirt, ABI-matched to libvirt-daemon-system. Create dev environments with uv venv --system-site-packages. The unit suite runs entirely against MockProvider and needs no real libvirt.

Development

uv venv --system-site-packages
uv pip install -e ".[dev]"
ruff check src tests
mypy
lint-imports
pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mgf_vm-0.2.0.tar.gz (757.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mgf_vm-0.2.0-py3-none-any.whl (524.2 kB view details)

Uploaded Python 3

File details

Details for the file mgf_vm-0.2.0.tar.gz.

File metadata

  • Download URL: mgf_vm-0.2.0.tar.gz
  • Upload date:
  • Size: 757.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mgf_vm-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cc594aeb6c25208551cddc7b2a684c7ff519cc480e0fe19705a3e18d8214adc8
MD5 89820cc322ccb5a8f60fb16f370ccde5
BLAKE2b-256 e95b36f8137522fc6cbb0cbf00cc5926607e474e42e39daae98a2f106ceea219

See more details on using hashes here.

File details

Details for the file mgf_vm-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: mgf_vm-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 524.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mgf_vm-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78e74a85328a7fa9121d39f2231bc3603f1f599702689bb113a2d0f76059e3c7
MD5 135af5c4affad5a8bb466b3308b43425
BLAKE2b-256 c4b958b0c12cb94d3d0d0acffbcf660d9c222e8e356f4ce1c7e017b0d30a60bd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page