code: def is_between(value,
                 minimum = None,
                 maximum = None,
                 **kwargs):
      
      if minimum is None and maximum is None:
          raise ValueError('minimum and maximum cannot both be None')
  
      if value is None:
          return False
  
      if minimum is not None and maximum is None:
          return value >= minimum
      elif minimum is None and maximum is not None:
          return value <= maximum
      elif minimum is not None and maximum is not None:
          return value >= minimum and value <= maximum
docs: Indicate whether ``value`` is greater than or equal to a supplied ``minimum``
      and/or less than or equal to ``maximum``.
  
      .. note::
  
        This function works on any ``value`` that support comparison operators,
        whether they are numbers or not. Technically, this means that ``value``,
        ``minimum``, or ``maximum`` need to implement the Python magic methods
        :func:`__lte__ <python:object.__lte__>` and :func:`__gte__ <python:object.__gte__>`.
  
        If ``value``, ``minimum``, or ``maximum`` do not support comparison
        operators, they will raise :class:`NotImplemented <python:NotImplemented>`.
  
      :param value: The ``value`` to check.
      :type value: anything that supports comparison operators
  
      :param minimum: If supplied, will return ``True`` if ``value`` is greater than or
        equal to this value.
      :type minimum: anything that supports comparison operators /
        :obj:`None <python:None>`
  
      :param maximum: If supplied, will return ``True`` if ``value`` is less than or
        equal to this value.
      :type maximum: anything that supports comparison operators /
        :obj:`None <python:None>`
  
      :returns: ``True`` if ``value`` is greater than or equal to a supplied ``minimum``
        and less than or equal to a supplied ``maximum``. Otherwise, returns ``False``.
      :rtype: :class:`bool <python:bool>`
  
  
      :raises SyntaxError: if ``kwargs`` contains duplicate keyword parameters or duplicates
        keyword parameters passed to the underlying validator
      :raises NotImplemented: if ``value``, ``minimum``, or ``maximum`` do not
        support comparison operators
      :raises ValueError: if both ``minimum`` and ``maximum`` are
        :obj:`None <python:None>`