code: def base_argparser(argv=()):
      
      global verbose
      verbose = _not_verbose
  
      _p = argparse.ArgumentParser(add_help=False)
      _p.add_argument('--debug', action='store_true', help="turn on all the show and verbose options (mainly for debugging pydeps itself)")
      _p.add_argument('--config', help="specify config file", metavar="FILE")
      _p.add_argument('--no-config', help="disable processing of config files", action='store_true')
      _p.add_argument('--version', action='store_true', help='print pydeps version')
      _p.add_argument('-L', '--log', help=textwrap.dedent('''
          set log-level to one of CRITICAL, ERROR, WARNING, INFO, DEBUG, NOTSET.
      '''))
      _args, argv = _p.parse_known_args(argv)
  
      if _args.log:
          loglevels = "CRITICAL DEBUG ERROR FATAL INFO WARN"
          if _args.log not in loglevels:  # pragma: nocover
              error('legal values for the -L parameter are:', loglevels)
          loglevel = getattr(logging, _args.log)
      else:
          loglevel = None
  
      logging.basicConfig(
          level=loglevel,
          format='%(filename)s:%(lineno)d: %(levelname)s: %(message)s'
      )
  
      if _args.version:  # pragma: nocover
          print("pydeps v" + __version__)
          sys.exit(0)
  
      return _p, _args, argv
docs: Initial parser that can set values for the rest of the parsing process.