"slicerizer" app to install and manage Slicer application versions #7652
Labels
make-simple-things-simple
"Make simple things simple and complex things possible" - to improve Slicer usability
Priority: Medium
Issues that we plan to fix but there are available workarounds
Is your feature request related to a problem? Please describe.
As discussed in a recent dev meeting, a utility to manage downloads could be useful. The current methods to install Slicer binaries require multiple user-actions and vary across platforms. There is a lot of repetitive effort required, for example, to compare the behavior of an extension in, say, the stable and preview versions of Slicer on multiple platforms.
Here's a common current workflow on a fresh VM:
Describe the solution you'd like
A simple command that would download and install Slicer consistently across platforms.
Inspired by this package that installs platform-specific executables via PyPi, we could leverage pypi to distribute a program that performs the installation and manages executable paths.
Here's are some sample uses for bash (the exact command name is open for discussion).
Install Slicerizer
install and run the latest stable
install and run the latest preview
install and run a specific version with extensions installed
query the installed Slicer versions and their extensions
Describe alternatives you've considered
We don't need to use pypi, but it seems convenient. Instead we could provide a shell script for linux/mac and a .bat or powershell script for windows, but maintaining multiple versions would be a hassle.
Also this feature could be included in Slicer itself, so that once you've installed one version it helps you manage your isntallations of other versions. But that wouldn't for installing a Slicer version on fresh VMs.
Depending on user feedback, we might also consider adding a GUI to select which Slicer to launch.
There are also lots of potentially useful command line options to consider adding:
Other name ideas:
Additional context
Use cases:
The text was updated successfully, but these errors were encountered: