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 upstream steps from step arguments.
docstr_tok: ["Get","upstream","steps","from","step","arguments","."]
code: def get_upstream_steps_from_step_arguments(
      args: RequestType,
  ) -> List[Step]:
      """Get upstream steps from step arguments."""
      pipeline_variables = (
          Step._find_pipeline_variables_in_step_arguments(args)
      )
      upstream_steps = []
      for pipeline_variable in pipeline_variables:
          upstream_steps.extend(pipeline_variable._referenced_steps)
  
      return upstream_steps
  
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 6 for calling the StepsCompiler obj's underlying member method code with example usage: obj.get_upstream_steps_from_step_arguments(args) and returns: upstream_steps