bulum.io.iqqm_out_reader module

Read .OUT files with an associated .IQN file.

class IqqmOutReader(iqqm_out_filepath)

Bases: object

Examples

reader = IqqmOutReader("abcd01.OUT")
reader.require(node=1)
reader.require(node=23)
df = reader.read()
available: dict[str, dict[str, Any]]

A dictionary of all nodes that are available to be read based off the .OUT file.

num_to_name(*, which: Literal['required', 'available'] = 'required') dict[str, str]

Return a mapping between node numbers and (IQQM) names.

Purely here for convenience in cross-referencing nodes.

read(remove_temp_files=True, read_all_availabe=False, *, engine: Literal['iqqmgui', 'python'] = 'iqqmgui', iqqmgui_path=None) DataFrame

Invoke the class to read the associated data.

Parameters:
  • remove_temp_files (bool) – Clean up after yourself (remove artifacts from running iqmgui).

  • read_all_available (bool) – Read all nodes instead of just those previously marked by the user as required.

  • engine ("iqqmgui" or "python") – Decides how to parse the OUT file data. “iqqmgui” will call on the executable (on path or provided by iqqmgui_path), while python will use the bulum native implementation.

  • iqqmgui_path (str, optional) – If engine is set to iqqmgui, you can specify the executable to use to extract data.

Return type:

pandas.DataFrame

require(node: int | str | None = None, supertype: float | None = None, type: float | None = None, output: Any = None) bool

Mark a node or multiple nodes as ‘required’ i.e. for reading. At least one argument must be non-null.

Returns:

True if at least one node was marked, False otherwise, likely indicating failure or a bad node specification.

Return type:

bool

required: dict[str, dict[str, Any]]

A dictionary of all nodes marked as ‘required’ i.e. to be read.

class iqqm_out_reader(iqqm_out_filepath)

Bases: IqqmOutReader

For backwards compatibility. See IqqmOutReader.

Deprecated since version 0.3.0: Non-pythonic naming