Open
Description
For now, the CTF archive that contains the compiled version of SPM is included in the repo. In the future, this should be avoided as it will lead to repo being oversized. An alternative, cleaner approach would be to compile the CTF file in a GitHub action and attach it an build or release artefact. We then need a clean way to manage and install versions of the runtime to match (potentially several) Matlab version(s), following #11.
Among possible approaches, we could:
- release the compiled runtime as an additional Python package on the Python Package Index, using versioning in package name (e.g.,
spm-runtime-2023a
) or hijacking package version (spm-runtime=2023a
).- Pros: integrated with
pip
, can be added as a dependency tospm-python
to install the latest Matlab by default, - Cons: user needs to sort out the version of their Matlab Runtime to install the right package, and requires virtualenv or similar to manage multiple versions if hijacking package version.
- Pros: integrated with
- write an installation script that fetches the CTF artefact from GitHub, e.g, by packaging
_spm
in a wheel and usingpip install [link to wheel]
or bywget
ing the CTF file.- Pros: Can detect Matlab Runtime version and install the appropriate SPM archive, can be done at install (e.g. run
spm-python init
afterpip install
), can handle explicit Runtime version (e.g., runspm-python init --matlab=2023a
) - Cons: needs maintenance.
- Pros: Can detect Matlab Runtime version and install the appropriate SPM archive, can be done at install (e.g. run