Desktop Package¶
heliokit-desktop is the protected desktop distribution. It is separate from
the original SWAS/SWVIZ desktop packaging path and does not replace or modify
that existing delivery flow.
Runtime model¶
The desktop wheel expects a controlled Windows environment:
Requirement |
Reason |
|---|---|
64-bit CPython 3.10 |
Native modules and compiled extensions target CPython 3.10. |
Locked scientific dependencies |
Heavy libraries such as VTK, Qt, TensorFlow, and Torch are provided by the environment instead of being copied into the wheel. |
Matching build/runtime template |
Native packages are not ABI-independent across arbitrary Python distributions. |
Environment setup¶
Use one of the two supported Python 3.10 setup paths described in Get Started: an existing controlled 64-bit CPython 3.10 environment, or a dedicated Conda environment. The Conda path is recommended for desktop users. Create the controlled Python environment before installing the desktop package:
conda create --name heliokit python=3.10 --yes
conda activate heliokit
python -m pip install --upgrade pip
Install and run¶
python -m pip install heliokit-desktop
heliokit run desktop
For local installation from this repository, use the local installer. It passes the host, base, desktop package, and all local component packages to one pip resolver run, so unpublished local versions resolve against each other:
python .\install.py --all-local --upgrade
The desktop wheel deliberately does not bundle heavy runtime libraries such as
VTK, Qt, TensorFlow, and Torch. Pip installs those libraries into the controlled
environment from the package metadata, so do not use --no-deps for normal
desktop installation.
Equivalent entry points are also installed for direct desktop/package checks:
heliokit-desktop
heliokit-desktop-cli components list
Workspace terminal¶
The desktop File > Terminal action opens PowerShell in the current workspace
and sets HELIOKIT_WORKSPACE for the session. Heliokit commands launched from
that terminal resolve relative input and output paths against the workspace even
if the user later changes the shell location. Missing output directories are
created automatically. Component commands print planned absolute output paths
before execution and print the same paths again with Completed. after a
successful run.
In source-tree desktop mode, the terminal uses the Heliokit CLI runtime, not
necessarily the Python process that launched the desktop UI. It first honors
HELIOKIT_CLI_PYTHON when that environment variable is set, then looks for a
conda environment named heliokit, and only falls back to the desktop Python
if no Heliokit CLI runtime is available. The selected Python path is printed
when the terminal opens.
In packaged desktop mode, the terminal does not inspect the user’s conda
environments and does not accept an external HELIOKIT_CLI_PYTHON outside the
packaged runtime. It stays inside the packaged or controlled runtime advertised
by HELIOKIT_RUNTIME_ROOT and the current desktop entry point, so the
packaged application does not depend on a user-created virtual environment for
terminal commands. Traditional frozen desktop builds are treated the same way:
if no packaged CLI runtime can import heliokit.cli, the desktop reports the
missing runtime instead of falling back to an arbitrary user environment.
Visualization commands launched from this terminal run in a child Python
process. Matplotlib backend selection is therefore local to that command process
and does not change the Qt backend used by the desktop UI process. Non-display
commands select a file-rendering backend before importing pyplot; interactive
commands try a GUI backend only when pyplot has not already been imported.
Protection model¶
The production desktop distribution compiles desktop business modules to CPython 3.10 native extensions and compiles bundled host/component sources to bytecode before removing source files from the wheel payload. This raises the cost of casual reverse engineering, but it is not a cryptographic protection boundary.
Uninstall¶
python -m pip uninstall heliokit-desktop