code: def get_parent_parser():
      """Create instances of a parser containing common arguments shared among
      all the commands.
  
      When overwriting `-q` or `-v`, you need to instantiate a new object
      in order to prevent some weird behavior.
      """
      from dvc._debug import add_debugging_flags
  
      parent_parser = argparse.ArgumentParser(add_help=False)
      log_level_group = parent_parser.add_mutually_exclusive_group()
      log_level_group.add_argument(
          "-q", "--quiet", action="count", default=0, help="Be quiet."
      )
      log_level_group.add_argument(
          "-v",
          "--verbose",
          action="count",
          default=0,
          help="Be verbose.",
      )
      add_debugging_flags(parent_parser)
  
      return parent_parser
  
file_path: dvc/dvc/cli/parser.py
imports: import argparse
  import os
  from functools import lru_cache
  from dvc import __version__
  from dvc.commands import add, artifacts, cache, check_ignore, checkout, commit, completion, config, daemon, dag, data, data_sync, destroy, diff, du, experiments, freeze, gc, get, get_url, git_hook, imp, imp_db, imp_url, init, install, ls, ls_url, metrics, move, params, plots, queue, remote, remove, repro, root, stage, studio, unprotect, update, version
  from dvc.log import logger
  from .None import DvcParserError, formatter
label_desc: Use image node_id 2 for calling a global function with example usage: get_parent_parser() and returns: parent_parser