class_docstr: PythonExecutorOperator handles python class based executor's init and execution.
  
  Attributes:
    extra_flags: Extra flags that will pass to Python executors. It come from
      two sources in the order:
      1. The `extra_flags` set in the executor spec.
      2. The flags passed in when starting the program by users or by other
         systems.
      The interpretation of these flags relying on the executor implementation.
class_docstr_tok: ["PythonExecutorOperator","handles","python","class","based","executor","'s","init","and","execution",".","Attributes",":","extra_flags",":","Extra","flags","that","will","pass","to","Python","executors",".","It","come","from","two","sources","in","the","order",":","1",".","The","`","extra_flags","`","set","in","the","executor","spec",".","2",".","The","flags","passed","in","when","starting","the","program","by","users","or","by","other","systems",".","The","interpretation","of","these","flags","relying","on","the","executor","implementation","."]
docstr: Initializes a PythonExecutorOperator.
  
  Args:
    executor_spec: The specification of how to initialize the executor.
    platform_config: The specification of how to allocate resource for the
      executor.
    pipeline_platform_config: Pipeline-level context information.
docstr_tok: ["Initializes","a","PythonExecutorOperator",".","Args",":","executor_spec",":","The","specification","of","how","to","initialize","the","executor",".","platform_config",":","The","specification","of","how","to","allocate","resource","for","the","executor",".","pipeline_platform_config",":","Pipeline-level","context","information","."]
code: def __init__(
      self,
      executor_spec: message.Message,
      platform_config: Optional[message.Message] = None,
      pipeline_platform_config: Optional[message.Message] = None,
  ):
      """Initializes a PythonExecutorOperator.
  
      Args:
        executor_spec: The specification of how to initialize the executor.
        platform_config: The specification of how to allocate resource for the
          executor.
        pipeline_platform_config: Pipeline-level context information.
      """
      # Python executors run locally, so platform_config is not used.
      del platform_config, pipeline_platform_config
      super().__init__(executor_spec)
      python_class_executor_spec = cast(
          executable_spec_pb2.PythonClassExecutableSpec,
          self._executor_spec,
      )
      self._executor_cls = import_utils.import_class_by_path(
          python_class_executor_spec.class_path
      )
      self.extra_flags = []
      self.extra_flags.extend(python_class_executor_spec.extra_flags)
      self.extra_flags.extend(sys.argv[1:])
  
file_path: tfx/tfx/orchestration/portable/python_executor_operator.py
imports: import copy
  import sys
  from typing import Optional, cast
  from tfx.dsl.components.base import base_executor
  from tfx.dsl.io import fileio
  from tfx.orchestration.portable import base_executor_operator
  from tfx.orchestration.portable import data_types
  from tfx.orchestration.portable import outputs_utils
  from tfx.proto.orchestration import executable_spec_pb2
  from tfx.proto.orchestration import execution_result_pb2
  from tfx.types.value_artifact import ValueArtifact
  from tfx.utils import import_utils
  from google.protobuf import message
label_desc: Use image node_id 1 to create a new PythonExecutorOperator object from inherited base classes: base_executor_operator with example: obj = PythonExecutorOperator(executor_spec, platform_config, pipeline_platform_config)