class_docstr: A struct to store information for an execution.
docstr: Constructs ExecutionInfo from proto.
code: def from_proto(
      cls,
      execution_invocation: execution_invocation_pb2.ExecutionInvocation,
  ) -> "ExecutionInfo":
      """Constructs ExecutionInfo from proto."""
      if execution_invocation.execution_properties_with_schema:
          parsed_exec_properties = (
              data_types_utils.build_parsed_value_dict(
                  execution_invocation.execution_properties_with_schema
              )
          )
      else:
          parsed_exec_properties = data_types_utils.build_value_dict(
              execution_invocation.execution_properties
          )
      return cls(
          execution_id=execution_invocation.execution_id,
          input_dict=data_types_utils.build_artifact_dict(
              execution_invocation.input_dict
          ),
          output_dict=data_types_utils.build_artifact_dict(
              execution_invocation.output_dict
          ),
          exec_properties=parsed_exec_properties,
          execution_output_uri=execution_invocation.output_metadata_uri,
          stateful_working_dir=execution_invocation.stateful_working_dir,
          tmp_dir=execution_invocation.tmp_dir,
          pipeline_node=execution_invocation.pipeline_node,
          pipeline_info=execution_invocation.pipeline_info,
          pipeline_run_id=execution_invocation.pipeline_run_id,
          top_level_pipeline_run_id=execution_invocation.top_level_pipeline_run_id,
          frontend_url=execution_invocation.frontend_url,
      )
  
file_path: tfx/tfx/orchestration/portable/data_types.py
imports: from typing import Any, Dict, List, Optional
  import attr
  from tfx import types
  from tfx.orchestration import data_types_utils
  from tfx.proto.orchestration import execution_invocation_pb2
  from tfx.proto.orchestration import pipeline_pb2
label_desc: Use image node_id 2 for calling the ExecutionInfo obj's underlying member method code with example usage: obj.from_proto(cls, execution_invocation) and returns: cls