class_docstr: Responsible for launching driver, executor and publisher of component.
docstr: Initialize a BaseComponentLauncher.
  
  Args:
    component: The Tfx node to launch.
    pipeline_info: An instance of data_types.PipelineInfo that holds pipeline
      properties.
    driver_args: An instance of data_types.DriverArgs that holds component
      specific driver args.
    metadata_connection: ML metadata connection. The connection is expected to
      not be opened when given to this object.
    beam_pipeline_args: Pipeline arguments for Beam powered Components.
    additional_pipeline_args: Additional pipeline args.
    component_config: Optional component specific config to instrument
      launcher on how to launch a component.
  
  Raises:
    ValueError: when component and component_config are not launchable by the
    launcher.
docstr_tok: ["Initialize","a","BaseComponentLauncher",".","Args",":","component",":","The","Tfx","node","to","launch",".","pipeline_info",":","An","instance","of","data_types.PipelineInfo","that","holds","pipeline","properties",".","driver_args",":","An","instance","of","data_types.DriverArgs","that","holds","component","specific","driver","args",".","metadata_connection",":","ML","metadata","connection",".","The","connection","is","expected","to","not","be","opened","when","given","to","this","object",".","beam_pipeline_args",":","Pipeline","arguments","for","Beam","powered","Components",".","additional_pipeline_args",":","Additional","pipeline","args",".","component_config",":","Optional","component","specific","config","to","instrument","launcher","on","how","to","launch","a","component",".","Raises",":","ValueError",":","when","component","and","component_config","are","not","launchable","by","the","launcher","."]
code: def __init__(
      self,
      component: base_node.BaseNode,
      pipeline_info: data_types.PipelineInfo,
      driver_args: data_types.DriverArgs,
      metadata_connection: metadata.Metadata,
      beam_pipeline_args: List[str],
      additional_pipeline_args: Dict[str, Any],
      component_config: Optional[
          base_component_config.BaseComponentConfig
      ] = None,
  ):
      """Initialize a BaseComponentLauncher.
  
      Args:
        component: The Tfx node to launch.
        pipeline_info: An instance of data_types.PipelineInfo that holds pipeline
          properties.
        driver_args: An instance of data_types.DriverArgs that holds component
          specific driver args.
        metadata_connection: ML metadata connection. The connection is expected to
          not be opened when given to this object.
        beam_pipeline_args: Pipeline arguments for Beam powered Components.
        additional_pipeline_args: Additional pipeline args.
        component_config: Optional component specific config to instrument
          launcher on how to launch a component.
  
      Raises:
        ValueError: when component and component_config are not launchable by the
        launcher.
      """
      self._pipeline_info = pipeline_info
      self._component_info = data_types.ComponentInfo(
          component_type=component.type,
          component_id=component.id,
          pipeline_info=self._pipeline_info,
      )
      self._driver_args = driver_args
  
      self._driver_class = component.driver_class
      self._component_executor_spec = component.executor_spec
  
      if isinstance(component, resolver.Resolver):
          # BaseComponentLauncher uses ResolverDriver for resolving inputs (i.e.
          # not IR-based.) Set input_dict to the raw inputs.
          self._input_dict = cast(
              resolver.Resolver, component
          ).raw_inputs
      else:
          self._input_dict = component.inputs
      self._output_dict = component.outputs
      self._exec_properties = component.exec_properties
  
      self._metadata_connection = metadata_connection
      self._beam_pipeline_args = beam_pipeline_args
  
      self._additional_pipeline_args = additional_pipeline_args
      self._component_config = component_config
  
      if not self.can_launch(
          self._component_executor_spec, self._component_config
      ):
          raise ValueError(
              'component.executor_spec with type "%s" and component config with'
              ' type "%s" are not launchable by "%s".'
              % (
                  type(self._component_executor_spec).__name__,
                  type(self._component_config).__name__,
                  type(self).__name__,
              )
          )
  
imports: import abc
  import copy
  from typing import Any, Dict, List, Optional, cast
  import absl
  from tfx import types
  from tfx.dsl.components.base import base_node
  from tfx.dsl.components.base import executor_spec
  from tfx.dsl.components.common import resolver
  from tfx.orchestration import data_types
  from tfx.orchestration import metadata
  from tfx.orchestration import publisher
  from tfx.orchestration.config import base_component_config
  from tfx.orchestration.portable import data_types
label_desc: Use image node_id 1 to create a new BaseComponentLauncher object from inherited base classes: abc with example: obj = BaseComponentLauncher(component, pipeline_info, driver_args, metadata_connection, beam_pipeline_args, additional_pipeline_args, component_config)