magogi/prod/: mgf-vm-sdk-0.1.10 metadata and description

Simple index

Magogi Foundation vm-vmanager-app client SDK — VmManagerClient with in-process and gRPC transports. The one library CLI + GUI import.

author Bassam Alsanie, mgf-vm-sdk contributors
classifiers
  • Development Status :: 2 - Pre-Alpha
  • Intended Audience :: Developers
  • License :: OSI Approved :: Apache Software License
  • Operating System :: POSIX :: Linux
  • Programming Language :: Python :: 3
  • Programming Language :: Python :: 3.11
  • Programming Language :: Python :: 3.12
  • Programming Language :: Python :: 3.13
  • Topic :: Software Development :: Libraries
description_content_type text/markdown
keywords client, mgf, sdk, virtualization, vm
license Apache-2.0
license_file
  • LICENSE
  • NOTICE
project_urls
  • Documentation, https://codeberg.org/magogi-admin/vm-vmanager-docs
  • Source, https://codeberg.org/magogi-admin/mgf-vm-sdk
requires_dist
  • mgf-common<1.0,>=0.41
  • mgf-vm-core<0.2,>=0.1.8
  • hypothesis<7,>=6.100; extra == 'dev'
  • import-linter<3,>=2.0; extra == 'dev'
  • mgf-test-supervisor<0.2,>=0.1.2; extra == 'dev'
  • mypy<2,>=1.10; extra == 'dev'
  • pytest-asyncio<1,>=0.23; extra == 'dev'
  • pytest-cov<7,>=5.0; extra == 'dev'
  • pytest-timeout<3,>=2.3; extra == 'dev'
  • pytest<9,>=8.0; extra == 'dev'
  • ruff<0.16,>=0.4; extra == 'dev'
  • grpcio-tools<2,>=1.64; extra == 'grpc'
  • grpcio<2,>=1.64; extra == 'grpc'
  • protobuf<6,>=5.0; extra == 'grpc'
  • mgf-common[standards]<1.0,>=0.46; extra == 'standards'
  • mgf-vm-libvirt<0.2,>=0.1; extra == 'test-integration'
requires_python >=3.11

Because this project isn't in the mirror_whitelist, no releases from root/pypi are included.

File Tox results History
mgf_vm_sdk-0.1.10-py3-none-any.whl
Size
50 KB
Type
Python Wheel
Python
3
mgf_vm_sdk-0.1.10.tar.gz
Size
177 KB
Type
Source

mgf-vm-sdk

The client SDK for the Magogi Foundation distributed vm-vmanager-app. One VmManagerClient interface, two transports: InProcessTransport (vm-vmanager-app Local) and GrpcTransport (vm-vmanager-app Fleet). The single library every client — CLI, GUI, third-party tools — imports.

Field Value
Status Pre-0.1.0. Phase 0 of the vm-vmanager-app roadmap.
Federation sibling. Depends on mgf-common>=0.38,<0.39 + mgf-vm-core>=0.1,<0.2.
Conformance level. L2 — Standard. Per-rule ledger: docs/inprogress/MGF_STANDARDS_CONFORMANCE.md.
License. MIT.
Python. 3.11 / 3.12 / 3.13.

Where the docs live

vm-vmanager-docs~/PycharmProjects/vm-vmanager-docs/ · Codeberg: vm-vmanager-docs

What Where
End-to-end architecture vm-vmanager-docs/ARCHITECTURE.md
Component inventory + this library's role vm-vmanager-docs/COMPONENTS.md
The decision register (D-A4 = one SDK both modes) vm-vmanager-docs/DECISIONS.md
The contracts the SDK exposes vm-vmanager-docs/component-specs/contracts.md
The gRPC API the GrpcTransport implements (Phase 1) vm-vmanager-docs/component-specs/api.md (TBD)
The roadmap (Phase 0 Stream C) vm-vmanager-docs/ROADMAP.md
The test strategy vm-vmanager-docs/TESTING.md
Dev loop vm-vmanager-docs/DEV-LOOP.md

What this library contains

(Phase 0 — see vm-vmanager-docs/ROADMAP.md Stream C.)

src/mgf/vm/sdk/
├── __init__.py            # public re-exports (AP-01)
├── py.typed
├── client.py              # VmManagerClient
├── transports/
│   ├── __init__.py
│   ├── _base.py           # the Transport ABC
│   ├── in_process.py      # InProcessTransport (Phase 0)
│   └── grpc.py            # GrpcTransport ([grpc] extra; Phase 1)
├── handles.py             # OperationHandle, streaming iterators
└── errors.py              # SDK-level rehydration of gRPC error details (D-G3)

Per D-A4: one client, two transports. Same VmManagerClient class. Construction picks the transport:

# vm-vmanager-app Local — in-process, no daemons
from mgf.vm.sdk import VmManagerClient
from mgf.vm.sdk.transports import InProcessTransport
from mgf.vm.libvirt import LibvirtAdapter

client = VmManagerClient(InProcessTransport.from_adapters(
    hypervisor=LibvirtAdapter("qemu:///system"),
    # ... etc
))
# vm-vmanager-app Fleet — remote CP over gRPC (Phase 1)
from mgf.vm.sdk import VmManagerClient
from mgf.vm.sdk.transports import GrpcTransport

client = VmManagerClient(GrpcTransport("grpc://cp.example:443"))

CLI and GUI auto-select via VMANAGER_ENDPOINT (D-A5).


What this library does NOT contain

Layering enforced by import-linter (D-H4).


Install (consumer)

pip install mgf-vm-sdk            # local mode only (no gRPC deps)
pip install 'mgf-vm-sdk[grpc]'    # + GrpcTransport for fleet mode (Phase 1)

Develop

cd ~/PycharmProjects/mgf_vm_sdk
uv venv --python 3.12
uv sync --extra dev --extra grpc          # all extras for development
uv run pytest -q                           # unit + contract
uv run mypy --strict src/
uv run ruff check src tests
uv run lint-imports

For the full system dev loop, see vm-vmanager-docs/DEV-LOOP.md.


Federation context

mgf-vm-sdk is a federation sibling. Depends on mgf-common and mgf-vm-core. Depended on by vm-vmanager-app (CLI + GUI) — both clients import only the SDK, enforced by import-linter (D-H4).

Per federation discipline:

Reporting issues