Aphelion Editor
Edit this page on GitHubPackaging the editor
Two different artifacts: pip wheels (library/CLI install) and standalone freeze (end-user executable / MSI).
All standalone packaging lives in one module, src/aphelion_build.py. It owns the release config, the freeze options, the MSI wizard tables, the MSI UI patch, and the plugin-SDK wheel build — so a version bump is a single edit to BuildConfig in that file.
Pip wheels
From aphelion-editor/ (pip install -e ".[dev]" provides the build frontend):
python -m build
python -m build ../aphelion-sdk
| Package | Directory | Distribution name |
|---|---|---|
| Editor | aphelion-editor/ | aphelion-editor |
| Plugin SDK | ../aphelion-sdk/ | aphelion-plugin-sdk |
Wheels land in each package's dist/.
Console script after install: aphelion.
Standalone freeze
Requires the freeze extra (cx_Freeze ≥ 8.6). Intermediates go to build/. The executable tree defaults to dist/.
python -m aphelion_build --exe
python -m aphelion_build --exe --build-dir path/to/output
The same flags are available through the app entry point (python main.py --build).
On Windows the binary is AphelionEditor.exe. The freeze copies resources/, userdata/, plugins/, and logs/ into the output tree.
To wipe build artifacts:
python -m aphelion_build --clean
Windows installer
python -m aphelion_build --installer
python -m aphelion_build --installer --build-dir path/to/output
--installer is Windows-only. It freezes the editor, bundles the plugin SDK wheel built from ../aphelion-sdk, and writes AphelionEditorSetup-<version>-win64.msi into releases/ (or --build-dir). --installer includes a freeze, so it wins if combined with --exe.
The MSI wizard defaults to a per-user install under Local App Data, and offers all-users (Program Files), PATH, and desktop-shortcut options, plus an optional pip install of the bundled SDK. Building it requires cx_Freeze and python-msilib (used to finish the installer UI).