hpcflow.app.Environment#

class hpcflow.app.Environment(name, setup=None, specifiers=None, executables=None, doc='', _hash_value=None)#

Bases: Environment

An execution environment that contains a number of executables.

Parameters:
  • name (str) – The name of the environment.

  • setup (list[str]) – Commands to run to enter the environment.

  • specifiers (dict[str, str]) – Dictionary of attributes that may be used to supply addional key/value pairs to look up an environment by.

  • executables (list[Executable]) – List of abstract executables in the environment.

  • doc (str) –

  • _hash_value (str | None) –

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

documentation

name

The name of the environment.

doc

Documentation for the environment.

specifiers

Dictionary of attributes that may be used to supply addional key/value pairs to look up an environment by.

executables

List of abstract executables in the environment.

setup

Commands to run to enter the environment.

doc#

Documentation for the environment.

property documentation: str#
executables#

List of abstract executables in the environment.

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.

name#

The name of the environment.

setup: tuple[str, ...] | None#

Commands to run to enter the environment.

specifiers: Mapping[str, str]#

Dictionary of attributes that may be used to supply addional key/value pairs to look up an environment by.

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]