plumpy behaves in the following when exposing outputs for a specification process (example as in AiiDA WorkChains):
Define a MainWorkChain
Using a SubWorkChain/SubCalcJob: spec.expose_outputs(SubWorkChain, namespace_options={'required': False})
MainChain.spec().outputs will still retain the required (True) outputs of SubWorkChain
The same doesn't happen when specifying a namespace in the expose_outputs.
Personal comments: I would expect as a plugin developer to actually override all required options of the exposed outputs, even when not defining a namespace. Otherwise, it seems pointless to specify the namespace_options if this does not happen (?).
plumpy
behaves in the following when exposing outputs for a specification process (example as in AiiDA WorkChains):MainWorkChain
SubWorkChain
/SubCalcJob
:spec.expose_outputs(SubWorkChain, namespace_options={'required': False})
MainChain.spec().outputs
will still retain therequired
(True) outputs ofSubWorkChain
The same doesn't happen when specifying a
namespace
in theexpose_outputs
.Personal comments: I would expect as a plugin developer to actually override all required options of the exposed outputs, even when not defining a namespace. Otherwise, it seems pointless to specify the
namespace_options
if this does not happen (?).