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: Get all upstream steps of the given step
docstr_tok: ["Get","all","upstream","steps","of","the","given","step"]
code: def _get_upstream_steps(self, step: Step, arguments: dict):
      """Get all upstream steps of the given step"""
      depends_on = _StepsSet()
      depends_on.add_list(self._simplify_step_list(step.depends_on))
  
      upstream_step_in_args = self._simplify_step_list(
          StepsCompiler.get_upstream_steps_from_step_arguments(
              arguments
          )
      )
  
      for upstream_step in upstream_step_in_args:
          if isinstance(upstream_step, _FunctionStep):
              self._steps_need_json_serialization.add(
                  upstream_step.name
              )
              depends_on.add(upstream_step)
  
      return list(depends_on), upstream_step_in_args
  
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 7 for calling the StepsCompiler obj's underlying member method code with example usage: obj._get_upstream_steps(step, arguments) and returns: list,  upstream_step_in_args