docs: def url(value, public=False):
      """
      Return whether or not given value is a valid URL.
  
      If the value is valid URL this function returns ``True``, otherwise
      :class:`~validators.utils.ValidationFailure`.
  
      This validator is based on the wonderful `URL validator of dperini`_.
  
      .. _URL validator of dperini:
          https://gist.github.com/dperini/729294
  
      Examples::
  
          >>> url('http://foobar.dk')
          True
  
          >>> url('ftp://foobar.dk')
          True
  
          >>> url('http://10.0.0.1')
          True
  
          >>> url('http://foobar.d')
          ValidationFailure(func=url, ...)
  
          >>> url('http://10.0.0.1', public=True)
          ValidationFailure(func=url, ...)
  
      .. versionadded:: 0.2
  
      .. versionchanged:: 0.10.2
  
          Added support for various exotic URLs and fixed various false
          positives.
  
      .. versionchanged:: 0.10.3
  
          Added ``public`` parameter.
  
      .. versionchanged:: 0.11.0
  
          Made the regular expression this function uses case insensitive.
  
      .. versionchanged:: 0.11.3
  
          Added support for URLs containing localhost
  
      :param value: URL address string to validate
      :param public: (default=False) Set True to only allow a public IP address
      """
      result = pattern.match(value)
      if not public:
          return result
  
      return result and not any(
          (result.groupdict().get(key) for key in ('private_ip', 'private_host'))
      )