Raise :exc:`AssertionError` if gtkmvc3 version is not compatible.

    *request* a dotted string or iterable of string or integers representing the
    minimum version you need. ::

     require("1.0")
     require(("1", "2", "2"))
     require([1,99,0])

    .. note::

       For historical reasons this does not take all API changes into account.
       Some are caught by the argument checks in View and Controller
       constructors.

def require(request):
    """
    Raise :exc:`AssertionError` if gtkmvc3 version is not compatible.

    *request* a dotted string or iterable of string or integers representing the
    minimum version you need. ::

     require("1.0")
     require(("1", "2", "2"))
     require([1,99,0])

    .. note::

       For historical reasons this does not take all API changes into account.
       Some are caught by the argument checks in View and Controller
       constructors.
    """
    try:
        request = request.split(".")
    except AttributeError:
        pass
    request = [int(x) for x in request]

    provide = list(__version)

    if request > provide:
        raise AssertionError("gtkmvc3 required version %s, found %s" % (
            request, provide))