Skip to content

feat: introduce environment-agnostic PyInstaller infrastructure#395

Draft
brightyorcerf wants to merge 1 commit intoEAPD-DRB:mainfrom
brightyorcerf:feat/packaging-infrastructure
Draft

feat: introduce environment-agnostic PyInstaller infrastructure#395
brightyorcerf wants to merge 1 commit intoEAPD-DRB:mainfrom
brightyorcerf:feat/packaging-infrastructure

Conversation

@brightyorcerf
Copy link
Copy Markdown
Contributor

@brightyorcerf brightyorcerf commented Mar 31, 2026

Linked issue

Existing related work reviewed

Overlap assessment

Why this PR should proceed

While #133 provided the 'ingredients' (dependencies), this PR provides the 'recipe' (the spec file). Without this infrastructure, the Windows-only build tools added in #133 have no instructions on how to actually assemble the MUIOGO binary, specifically regarding the complex mapping of the WebAPP/ directory and solver binaries.

Summary

  • What changed: Added muiogo.spec with defensive pathing logic.
  • Why: To enable one-click distribution of MUIOGO for non-technical users.

Validation

  • Syntax-validated via Python 3 interpreter.
  • Path-resolution logic verified locally via static analysis (checked for "Missing" folder resilience).

Documentation

  • Docs updated in this PR (or not applicable)
  • Any setup/workflow changes reflected in repo docs

Scope check

  • No unrelated refactors
  • Implemented from a feature branch
  • Change is deliverable without upstream OSeMOSYS/MUIO dependency
  • Base repo/branch is EAPD-DRB/MUIOGO:main

Exception rationale

  • None

@SeaCelo
Copy link
Copy Markdown
Collaborator

SeaCelo commented Mar 31, 2026

We are not planning for a binary yet. I'll keep this as a draft until we have a plan. Please keep the discussion in the issue

@SeaCelo SeaCelo marked this pull request as draft March 31, 2026 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Task] Establish Reproducible Windows Packaging Pipeline via PyInstaller

2 participants