class_docstr: Class used to compile steps. Should be instantiated once per compilation.
class_docstr_tok: ["Class","used","to","compile","steps",".","Should","be","instantiated","once","per","compilation","."]
docstr: Initialize a StepsCompiler.
  
  Args:
      pipeline_name (str): The name of the pipeline, passed down from pipeline.to_request()
      sagemaker_session (sagemaker.session.Session): The session object used for compile the
        steps.
      pipeline_definition_config (PipelineDefinitionConfig):
        A pipeline definition configuration for a pipeline containing feature flag toggles
docstr_tok: ["Initialize","a","StepsCompiler",".","Args",":","pipeline_name","(","str",")",":","The","name","of","the","pipeline",",","passed","down","from","pipeline.to_request","(",")","sagemaker_session","(","sagemaker.session.Session",")",":","The","session","object","used","for","compile","the","steps",".","pipeline_definition_config","(","PipelineDefinitionConfig",")",":","A","pipeline","definition","configuration","for","a","pipeline","containing","feature","flag","toggles"]
code: def __init__(
      self,
      pipeline_name: str,
      sagemaker_session,
      steps: Sequence[Union[Step, StepCollection, StepOutput]],
      pipeline_definition_config: PipelineDefinitionConfig = None,
  ):
      """Initialize a StepsCompiler.
  
      Args:
          pipeline_name (str): The name of the pipeline, passed down from pipeline.to_request()
          sagemaker_session (sagemaker.session.Session): The session object used for compile the
            steps.
          pipeline_definition_config (PipelineDefinitionConfig):
            A pipeline definition configuration for a pipeline containing feature flag toggles
      """
      self.pipeline_name = pipeline_name
      self.sagemaker_session = sagemaker_session
      self.pipeline_definition_config = pipeline_definition_config
      self.upload_runtime_scripts = True
      self.upload_workspace = True
      self.pipeline_build_time = sagemaker_timestamp()
  
      self._input_steps = list(steps)
      self._input_steps_map = dict()
      StepsCompiler._generate_step_map(
          self._input_steps, self._input_steps_map
      )
  
      self._all_known_steps = _StepsSet()
      self._build_queue = _BuildQueue()
  
      self._function_step_secret_token = secrets.token_hex(32)
  
      self._build_count = 0
      self._steps_need_json_serialization = set()
  
imports: from __future__ import absolute_import
  import logging
  import secrets
  from typing import Sequence, Union, List
  from sagemaker.workflow.entities import RequestType
  from sagemaker.workflow.function_step import _FunctionStep
  from sagemaker.workflow.steps import Step, StepTypeEnum, PropertyFile
  from sagemaker.workflow.condition_step import ConditionStep
  from sagemaker.workflow.step_collections import StepCollection
  from sagemaker.workflow.step_outputs import get_step
  from sagemaker.workflow.pipeline_definition_config import PipelineDefinitionConfig
  from sagemaker.workflow.step_outputs import StepOutput
  from sagemaker.workflow.utilities import step_compilation_context_manager, get_config_hash, get_code_hash
  from sagemaker.utils import sagemaker_timestamp
label_desc: Use image node_id 1 to create a new StepsCompiler object from inherited base classes: object with example: obj = StepsCompiler(pipeline_name, sagemaker_session, steps, pipeline_definition_config)