class_docstr: Base Recipe
class_docstr_tok: ["Base","Recipe"]
docstr: Returns a step class object from the recipe.
docstr_tok: ["Returns","a","step","class","object","from","the","recipe","."]
code: def _get_step(self, step_name) -> BaseStep:
      """Returns a step class object from the recipe."""
      steps = self._steps
      step_names = [s.name for s in steps]
      if step_name not in step_names:
          raise MlflowException(
              f"Step {step_name} not found in recipe. Available steps are {step_names}"
          )
      return self._steps[step_names.index(step_name)]
  
imports: import abc
  import logging
  import os
  from typing import List, Optional
  from mlflow.exceptions import MlflowException
  from mlflow.protos.databricks_pb2 import BAD_REQUEST, INTERNAL_ERROR, INVALID_PARAMETER_VALUE
  from mlflow.recipes import dag_help_strings
  from mlflow.recipes.artifacts import Artifact
  from mlflow.recipes.step import BaseStep, StepClass, StepStatus
  from mlflow.recipes.utils import get_recipe_config, get_recipe_name, get_recipe_root_path
  from mlflow.recipes.utils.execution import clean_execution_state, get_or_create_base_execution_directory, get_step_output_path, run_recipe_step
  from mlflow.recipes.utils.step import display_html
  from mlflow.utils.class_utils import _get_class_from_string
label_desc: Use image node_id 7 for calling the BaseRecipe obj's underlying member method code with example usage: obj._get_step(step_name) and returns: self