code: def is_string(value,
                coerce_value = False,
                minimum_length = None,
                maximum_length = None,
                whitespace_padding = False,
                **kwargs):
      
      if value is None:
          return False
  
      minimum_length = validators.integer(minimum_length, allow_empty = True, **kwargs)
      maximum_length = validators.integer(maximum_length, allow_empty = True, **kwargs)
  
      if isinstance(value, basestring) and not value:
          if minimum_length and minimum_length > 0 and not whitespace_padding:
              return False
  
          return True
  
      try:
          value = validators.string(value,
                                    coerce_value = coerce_value,
                                    minimum_length = minimum_length,
                                    maximum_length = maximum_length,
                                    whitespace_padding = whitespace_padding,
                                    **kwargs)
      except SyntaxError as error:
          raise error
      except Exception:
          return False
  
      return True
docs: Indicate whether ``value`` is a string.
  
      :param value: The value to evaluate.
  
      :param coerce_value: If ``True``, will check whether ``value`` can be coerced
        to a string if it is not already. Defaults to ``False``.
      :type coerce_value: :class:`bool <python:bool>`
  
      :param minimum_length: If supplied, indicates the minimum number of characters
        needed to be valid.
      :type minimum_length: :class:`int <python:int>`
  
      :param maximum_length: If supplied, indicates the minimum number of characters
        needed to be valid.
      :type maximum_length: :class:`int <python:int>`
  
      :param whitespace_padding: If ``True`` and the value is below the
        ``minimum_length``, pad the value with spaces. Defaults to ``False``.
      :type whitespace_padding: :class:`bool <python:bool>`
  
      :returns: ``True`` if ``value`` is valid, ``False`` if it is not.
      :rtype: :class:`bool <python:bool>`
  
      :raises SyntaxError: if ``kwargs`` contains duplicate keyword parameters or duplicates
        keyword parameters passed to the underlying validator