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

from_json_like

labelled_info

to_dict

to_json_like

Attributes

all_labelled_types

app

default_value

input_or_output

name

single_label

single_labelled_data

single_labelled_type

task_schema

typ

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#