code: def is_url_equal(url, other_url):
      # type: (str, str) -> bool
      
      if not isinstance(url, six.string_types):
          raise TypeError("Expected string for url, received {0!r}".format(url))
      if not isinstance(other_url, six.string_types):
          raise TypeError("Expected string for url, received {0!r}".format(other_url))
      parsed_url = urllib3_util.parse_url(url)
      parsed_other_url = urllib3_util.parse_url(other_url)
      unparsed = parsed_url._replace(auth=None, query=None, fragment=None).url
      unparsed_other = parsed_other_url._replace(auth=None, query=None, fragment=None).url
      return unparsed == unparsed_other
docs: Compare two urls by scheme, host, and path, ignoring auth
  
      :param str url: The initial URL to compare
      :param str url: Second url to compare to the first
      :return: Whether the URLs are equal without **auth**, **query**, and **fragment**
      :rtype: bool
  
      >>> is_url_equal("https://user:pass@mydomain.com/some/path?some_query",
                       "https://user2:pass2@mydomain.com/some/path")
      True
  
      >>> is_url_equal("https://user:pass@mydomain.com/some/path?some_query",
                   "https://mydomain.com/some?some_query")
      False