docs: def parse(dsn, parse_class=ParseResult, **defaults):
      """
      parse a dsn to parts similar to parseurl
  
      :param dsn: string, the dsn to parse
      :param parse_class: ParseResult, the class that will be used to hold parsed values
      :param **defaults: dict, any values you want to have defaults for if they aren't in the dsn
      :returns: ParseResult() tuple-like instance
      """
      r = parse_class(dsn, **defaults)
      return r