magogi/prod/: flotilla-interchange-0.3.0 metadata and description
Flotilla's VM-interchange library (formerly mgf-vm-interchange) — OVA / OVF import/export. Sibling library extracted from the Flotilla app.
| author | Bassam Alsanie, flotilla-interchange contributors |
| classifiers |
|
| description_content_type | text/markdown |
| keywords | export, flotilla, import, mgf, ova, ovf, vm |
| license | Apache-2.0 |
| license_file |
|
| metadata_version | 2.5 |
| project_urls |
|
| requires_dist |
|
| requires_python | >=3.11 |
Because this project isn't in the mirror_whitelist,
no releases from root/pypi are included.
| File | Tox results | History |
|---|---|---|
flotilla_interchange-0.3.0-py3-none-any.whl
|
|
|
flotilla_interchange-0.3.0.tar.gz
|
|
flotilla-interchange
Formerly
mgf-vm-interchange(importmgf.vm.interchange). Renamed in 0.3.0 under the Flotilla product name (D25). The old distribution name and import path still work through the compat distributionmgf-vm-interchange0.3.0, which depends on this one, emits oneDeprecationWarning, and stops serving the old path at flotilla-interchange 0.5.0. See CHANGELOG.md.
OVA / OVF import-export sibling library for the Magogi Foundation distributed vm-vmanager-app. Parse an
.ova, extract the OVF spec
- disk images, translate to engine-neutral
VmSpec. And the reverse: export aVmSpec+ disks to a portable.ova.
| Field | Value |
|---|---|
| Status | Pre-0.1.0. Extracted per D-C9. |
| Federation sibling. | Depends on mgf-common + flotilla-core + defusedxml. |
| Conformance level. | L2 — Standard. Per-rule ledger: docs/inprogress/MGF_STANDARDS_CONFORMANCE.md. |
| License. | Apache-2.0. |
| Python. | 3.11 / 3.12 / 3.13. |
Where the docs live
flotilla-docs—~/PycharmProjects/flotilla-docs/· Codeberg:flotilla-docs
| What | Where |
|---|---|
| Why this is its own sibling (D-C9) | flotilla-docs/DECISIONS.md |
| Architecture (registry consumer) | flotilla-docs/ARCHITECTURE.md §8 (registry is the cross-platform backbone) |
| Roadmap (Phase 0 Stream F → consumed by CP in Phase 2) | flotilla-docs/ROADMAP.md |
What this library is — and why it's a sibling
OVA/OVF is a portable, vendor-neutral VM packaging format that exists outside any one hypervisor. Parsing it well is a real, reusable capability — incident response tools, migration tools, cloud-image bakers all want it.
That makes it a sibling per D-C9: lifted out of the old vm-vmanager-app
interchange subsystem, consumed by vm-vmanager-control-plane
(for vmanager image import file.ova) and available to anyone
else.
What this library contains
(Phase 0 — sibling extraction from mgf-vm/src/mgf/vm/interchange/.)
src/mgf/flotilla/interchange/
├── __init__.py
├── py.typed
├── ova/ # tar (un)packing with safe-tar discipline (SH-04)
├── ovf/ # OVF XML parse/render via defusedxml (SH-03)
├── translate.py # OVF spec ↔ mgf.flotilla.core.VmSpec
└── exceptions.py # typed errors at the import/export seam
What this library does NOT contain
- No VM driving. Translation is to/from
VmSpec; instantiating is the consumer's job (via the SDK + adapters). - No registry storage. Blobs go to the registry's S3 backend
(
vm-vmanager-control-plane.ImageRegistry); this library handles format conversion, not bytes-at-rest.
Install
pip install flotilla-interchange
Develop
cd ~/PycharmProjects/flotilla-interchange
uv venv --python 3.12
uv sync --extra dev
uv run pytest -q
uv run mypy --strict src/
uv run ruff check src tests
uv run lint-imports
Federation context
Sibling library. Per discipline: USERS.md, STANDARDS_NOTE.md,
docs/inprogress/MGF_STANDARDS_CONFORMANCE.md.
Security: parses OVF from attacker-controlled input. defusedxml
mandatory (SH-03). OVA tar extraction validates paths (SC-15).