To do this properly, we'd need a utility method that converts the pseudo configuration (specified via the label) into the corresponding aiida-pseudo install command (perhaps also considering the defaults). This should probably be implemented in aiida-pseudo and used here.
The utility command can then also immediately do a check to see if the configuration exists at all. I was inclined to have the error message indicate that it's not a valid aiida-pseudo configuration, but of course users can also install custom families with recommended cutoffs. So it should probably say something along the lines of:
ValueError: required pseudo family `best-pseudos-ever-yo` is not installed.
Since it is not an "established" configuration, use `aiida-pseudo install family` to install it from a suitably formatted archive.
When a user tries to use a pseudopotential family that isn't installed, e.g.:
The
get_builder_from_protocol()
command returns aValueError
:Besides the absence of a space between
toinstall
, we could add specific instructions to install the family the user requested. I.e. in this case:To do this properly, we'd need a utility method that converts the pseudo configuration (specified via the label) into the corresponding
aiida-pseudo install
command (perhaps also considering the defaults). This should probably be implemented inaiida-pseudo
and used here.The utility command can then also immediately do a check to see if the configuration exists at all. I was inclined to have the error message indicate that it's not a valid
aiida-pseudo
configuration, but of course users can also install custom families with recommended cutoffs. So it should probably say something along the lines of: