hpcflow.app.Executable#
- class hpcflow.app.Executable(label, instances)#
Bases:
Executable
A program managed by the environment.
- Parameters:
label (str) – The abstract name of the program.
instances (list[ExecutableInstance]) – The concrete instances of the application that may be present.
Methods
Select the instances of the executable that are compatible with the given requirements.
Make an instance of this class from JSON (or YAML) data.
Serialize this object as a dictionary.
Serialize this object as an object structure that can be trivially converted to JSON.
Attributes
The environment that the executable is going to run in.
The abstract name of the program.
The concrete instances of the application that may be present.
- property environment: Environment | None#
The environment that the executable is going to run in.
- filter_instances(parallel_mode=None, num_cores=None)#
Select the instances of the executable that are compatible with the given requirements.
- Parameters:
- Returns:
The known executable instances that match the requirements.
- Return type:
- 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.
- instances#
The concrete instances of the application that may be present.
- label#
The abstract name of the program.
- 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.