Skip to content

[Task] Establish Reproducible Windows Packaging Pipeline via PyInstaller #394

@brightyorcerf

Description

@brightyorcerf

Problem statement

MUIOGO currently lacks a standardized method for binary distribution. Requiring non-technical users (like policy analysts) to manually configure Python environments with complex scientific dependencies like pandas, numpy, and OSeMOSYS solvers creates a significant barrier to entry.

Proposed solution

Implement the functional packaging layer for MUIOGO by introducing a production-ready muiogo.spec. This builds upon the dependency separation work merged in #133, providing the actual logic required to utilize those build-time dependencies for binary generation.

Acceptance criteria

  • muiogo.spec syntax-validated for cross-platform portability.
  • Build-time dependencies documented in requirements-build-win.txt.
  • Directory mapping for WebAPP/ assets successfully established in the bundle logic.

Dependencies and constraints

  • Dependency: pyinstaller>=6.0.0
  • Constraint: Requires a Windows environment for final .exe generation; however, the .spec logic is platform-agnostic.

Related work checked

"Checked #120, #231, and #110 (Testing/CI). Crucially reviewed #133, which handled the preparatory phase of splitting requirements. This issue targets the subsequent implementation phase.

Proposed track

None

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions