code: def _reproduce_stage(stage: "Stage", **kwargs) -> Optional["Stage"]:
      if stage.frozen and not stage.is_import:
          msg = "%s is frozen. Its dependencies are not going to be reproduced."
          logger.warning(msg, stage)
  
      ret = stage.reproduce(**kwargs)
      if ret and not kwargs.get("dry", False):
          stage.dump(update_pipeline=False)
      return ret
  
file_path: dvc/dvc/repo/reproduce.py
imports: from typing import TYPE_CHECKING, Callable, Dict, Iterable, List, NoReturn, Optional, Set, Tuple, TypeVar, Union, cast
  from funcy import ldistinct
  from dvc.exceptions import ReproductionError
  from dvc.log import logger
  from dvc.repo.scm_context import scm_context
  from dvc.stage.cache import RunCacheNotSupported
  from dvc.utils import humanize
  from dvc.utils.collections import ensure_list
  from .None import locked
label_desc: Use image node_id 5 for calling a global function with example usage: _reproduce_stage(stage) and returns: ret