-
Notifications
You must be signed in to change notification settings - Fork 514
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"slicerizer" app to install and manage Slicer application versions #7652
Comments
This would be great. It could also be used to easily run Slicer in Python-based environments such as Google colab. It could even have a utility function to set up a novnc server. I like the Since this installer would need to work hand-in-hand with slicerio (for example, slicerio should be able to automatically find the Slicer installed by slicertool), we could also consider just adding slicer installation functionality to slicerio. We would then not need to create and maintain a separate Python package. I have no problem moving slicerio to the Slicer github organization and adding any Slicer core developers to the maintainers on PyPI. |
Yes, it could make sense to have both functionalities under one umbrella. For example both could expose a cli and a python API for the same features so they could easily be used together. Especially for slicerio, it would be nice to be able to have a command option to start Slicer with the WebServer enabled. Moving slicerio to the Slicer org and unifying our pypi presence also makes sense. |
Cc: @allemangD |
Thanks @pieper for creating the issue 🙏 |
Sounds good! Since it takes some effort to update all the URLs, etc. I'll do this change when we create the new slicerio release with the new features. So, the first PR should go to the existing repository location. |
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: