Skip to content

CLI to get modules installation path #658

Open
@marcodelapierre

Description

@marcodelapierre

Hi @vsoch,

yesterday I was starting to think how the container story for the talk in a month might look like; in my mind the central topic is user experience.
So, provided the dependencies are available (container runtime, module system, Python), I started to picture myself showing how to get up and running with container modules in the simplest possible way, and ...

pip install singularity-hpc
shpc install vanessa/salad
module use $( shpc QUOKKA )
module load vanessa/salad
salad

Hold on a minute....have I just said QUOKKA ?!

Yes, I have .. because I have realised that QUOKKA would be a nice addition to the SHPC CLI functionalities.
As you see, QUOKKA is a way for SHPC to provide the shell with the path where the modulefiles are installed.

We have this for views:

shpc view get <viewname>

So that one can do

module use $( shpc view get <viewname> )

But we don't have this for non view configurations.

My temptation would be to be consistent with views and just introduce shpc get, however this is currently being used to provide the path to the SIF image for a given registry. How should we proceed?

Note that right now one can get the path to a SIF image by means of:

module load <registry>
<registry>-container

So I am tempted to say we could deprecate this old command meaning, and update to the suggestion above.
Or we could update the current get CLI to become e.g. get_sif or similar.

Last point: right now the full CLI looks like:

module use $( shpc view get <viewname>)
module use $( shpc QUOKKA )

Should we update it so that the shpc CLI embeds the module use bit? (is it even doable from Python, as module is a shell function?) We can leave as is, just a thought.

What are your thoughts? Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions