hpcflow.app.Parameter#

class hpcflow.app.Parameter(typ, is_file=False, sub_parameters=<factory>, _value_class=None, _hash_value=None, _validation=None)#

Bases: Parameter

A general parameter to a workflow task.

Parameters:
  • typ (str) – Type code. Used to look up the ParameterValue for this parameter, if any.

  • is_file (bool) – Whether this parameter represents a file.

  • sub_parameters (list[SubParameter]) – Any parameters packed within this one.

  • _value_class (type[ParameterValue]) – Class that provides the implementation of this parameter’s values. Not normally directly user-managed.

  • _hash_value (str | None) – Hash of this class. Not normally user-managed.

  • _validation (Schema | None) – Validation schema.

Methods

from_json_like

Make an instance of this class from JSON (or YAML) data.

to_dict

Serialize this object as a dictionary.

to_json_like

Serialize this object as an object structure that can be trivially converted to JSON.

Attributes

is_file

Whether this parameter represents a file.

url_slug

Representation of this parameter as part of a URL.

typ

Type code.

sub_parameters

Any parameters packed within this one.

classmethod from_json_like(json_like, shared_data=None)#

Make an instance of this class from JSON (or YAML) data.

Parameters:
  • json_like (str | Mapping[str, JSONed] | Sequence[Mapping[str, JSONed]] | None) – The data to deserialise.

  • shared_data (Mapping[str, ObjectList[JSONable]] | None) – Shared context data.

Return type:

The deserialised object.

is_file: bool = False#

Whether this parameter represents a file.

sub_parameters: list[SubParameter]#

Any parameters packed within this one.

to_dict()#

Serialize this object as a dictionary.

Return type:

dict[str, Any]

to_json_like(dct=None, shared_data=None, exclude=(), path=None)#

Serialize this object as an object structure that can be trivially converted to JSON. Note that YAML can also be produced from the result of this method; it just requires a different final serialization step.

Parameters:
  • dct (dict[str, JSONable] | None) –

  • shared_data (_JSONDeserState) –

  • exclude (Container[str | None]) –

  • path (list | None) –

Return type:

tuple[JSONDocument, _JSONDeserState]

typ: str#

Type code. Used to look up the ParameterValue for this parameter, if any.

property url_slug: str#

Representation of this parameter as part of a URL.