matflow.SchemaInput#
- class matflow.SchemaInput(parameter, multiple=False, labels=None, default_value=NullDefault.NULL, propagation_mode=ParameterPropagationMode.IMPLICIT, group=None)#
Bases:
SchemaInput
A Parameter as used within a particular schema, for which a default value may be applied.
- Parameters:
parameter (app.Parameter) – The parameter (i.e. type) of this schema input.
multiple (bool) – If True, expect one or more of these parameters defined in the workflow, distinguished by a string label in square brackets. For example p1[0] for a parameter p1.
labels (Optional[Dict]) – Dict whose keys represent the string labels that distinguish multiple parameters if multiple is True. Use the key “*” to mean all labels not matching other label keys. If multiple is False, this will default to a single-item dict with an empty string key: {“”: {}}. If multiple is True, this will default to a single-item dict with the catch-all key: {“*”: {}}. On initialisation, remaining keyword-arguments are treated as default values for the dict values of labels.
default_value (Optional[Union[app.InputValue, NullDefault]]) – The default value for this input parameter. This is itself a default value that will be applied to all labels values if a “default_value” key does not exist.
propagation_mode (ParameterPropagationMode) – Determines how this input should propagate through the workflow. This is a default value that will be applied to all labels values if a “propagation_mode” key does not exist. By default, the input is allowed to be used in downstream tasks simply because it has a compatible type (this is the “implicit” propagation mode). Other options are “explicit”, meaning that the parameter must be explicitly specified in the downstream task input_sources for it to be used, and “never”, meaning that the parameter must not be used in downstream tasks and will be inaccessible to those tasks.
group (Optional[str]) – Determines the name of the element group from which this input should be sourced. This is a default value that will be applied to all labels if a “group” key does not exist.
Methods
Attributes
- property all_labelled_types#
- app = App(name='MatFlow', version='0.3.0a129')#
- property default_value#
- classmethod from_json_like(json_like, shared_data=None)#
- property input_or_output#
- labelled_info()#
- property name#
- property single_label#
- property single_labelled_data#
- property single_labelled_type#
- property task_schema#
- to_dict()#
- to_json_like(dct=None, shared_data=None, exclude=None, path=None)#
- property typ#