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.1.tar.gz (758.3 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.1-py3-none-any.whl (524.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mgf_vm-0.2.1.tar.gz
  • Upload date:
  • Size: 758.3 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.1.tar.gz
Algorithm Hash digest
SHA256 58de6aba9b9b89684453f707cc110e1bd1a57a9de0271f716a324a10c3329355
MD5 ef3912170263497c4cc281bfec75913e
BLAKE2b-256 5143680b88554a6f7d254af6b9f229fc367da09c9689a53306eeb6403293f05a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mgf_vm-0.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ff738b8291d0141c7153afecde64cecb835f842912ea79da0bbbe942ebc397fa
MD5 66a232365951fa9f5aff647bc300b5c0
BLAKE2b-256 0ebca136f15fe80a39a05f47a510bc82c55c75ba9c5660022b732ec8b90c8227

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