class_docstr: Abstract TFX executor class.
class_docstr_tok: ["Abstract","TFX","executor","class","."]
docstr: Execute underlying component implementation.
  
  Args:
    input_dict: Input dict from input key to a list of Artifacts. These are
      often outputs of another component in the pipeline and passed to the
      component by the orchestration system.
    output_dict: Output dict from output key to a list of Artifacts. These are
      often consumed by a dependent component.
    exec_properties: A dict of execution properties. These are inputs to
      pipeline with primitive types (int, string, float) and fully
      materialized when a pipeline is constructed. No dependency to other
      component or later injection from orchestration systems is necessary or
      possible on these values.
  
  Returns:
    execution_result_pb2.ExecutorOutput or None.
docstr_tok: ["Execute","underlying","component","implementation",".","Args",":","input_dict",":","Input","dict","from","input","key","to","a","list","of","Artifacts",".","These","are","often","outputs","of","another","component","in","the","pipeline","and","passed","to","the","component","by","the","orchestration","system",".","output_dict",":","Output","dict","from","output","key","to","a","list","of","Artifacts",".","These","are","often","consumed","by","a","dependent","component",".","exec_properties",":","A","dict","of","execution","properties",".","These","are","inputs","to","pipeline","with","primitive","types","(","int",",","string",",","float",")","and","fully","materialized","when","a","pipeline","is","constructed",".","No","dependency","to","other","component","or","later","injection","from","orchestration","systems","is","necessary","or","possible","on","these","values",".","Returns",":","execution_result_pb2.ExecutorOutput","or","None","."]
code: def Do(  # pylint: disable=invalid-name
      self,
      input_dict: Dict[str, List[types.Artifact]],
      output_dict: Dict[str, List[types.Artifact]],
      exec_properties: Dict[str, Any],
  ) -> Optional[execution_result_pb2.ExecutorOutput]:
      """Execute underlying component implementation.
  
      Args:
        input_dict: Input dict from input key to a list of Artifacts. These are
          often outputs of another component in the pipeline and passed to the
          component by the orchestration system.
        output_dict: Output dict from output key to a list of Artifacts. These are
          often consumed by a dependent component.
        exec_properties: A dict of execution properties. These are inputs to
          pipeline with primitive types (int, string, float) and fully
          materialized when a pipeline is constructed. No dependency to other
          component or later injection from orchestration systems is necessary or
          possible on these values.
  
      Returns:
        execution_result_pb2.ExecutorOutput or None.
      """
      pass
  
file_path: tfx/tfx/dsl/components/base/base_executor.py
imports: import abc
  import os
  from typing import Any, Dict, List, Optional
  from absl import logging
  from tfx import types
  from tfx.dsl.io import fileio
  from tfx.proto.orchestration import execution_result_pb2
  from tfx.proto.orchestration import pipeline_pb2
label_desc: Use image node_id 1 for calling the BaseExecutor obj's underlying member method code with example usage: obj.Do(input_dict, output_dict, exec_properties) without return types