ProgramHarness

class qcengine.programs.ProgramHarness(*, name: str, scratch: bool, thread_safe: bool, thread_parallel: bool, node_parallel: bool, managed_memory: bool, extras: Dict[str, Any] = None)[source]

Bases: pydantic.main.BaseModel, abc.ABC

Methods Summary

build_input(input_model, config[, template])

compute(input_data, config)

execute(inputs[, extra_outfiles, …])

found([raise_error])

Checks if the program can be found.

get_version()

Finds program, extracts version, returns normalized version string.

parse_output(outfiles, input_model)

Methods Documentation

build_input(input_model: AtomicInput, config: TaskConfig, template: Optional[str] = None)Dict[str, Any][source]
abstract compute(input_data: AtomicInput, config: TaskConfig)AtomicResult[source]
execute(inputs: Dict[str, Any], extra_outfiles: Optional[List[str]] = None, extra_commands: Optional[List[str]] = None, scratch_name: Optional[str] = None, timeout: Optional[int] = None)Tuple[bool, Dict[str, Any]][source]
abstract static found(raise_error: bool = False)bool[source]

Checks if the program can be found.

Parameters

raise_error (bool, optional) – If True, raises an error if the program cannot be found.

Returns

Returns True if the program was found, False otherwise.

Return type

bool

get_version()str[source]

Finds program, extracts version, returns normalized version string.

Returns

Return a valid, safe python version string.

Return type

str

parse_output(outfiles: Dict[str, str], input_model: qcelemental.models.results.AtomicInput)qcelemental.models.results.AtomicResult[source]