def get_platform():
    """
    Return a string describing the UI implementation to use.
    :return: platform identifier
    :rtype: str
    """
    # platform specific UIs
    if IN_PYTHONISTA:
        return "pythonista"
    elif ON_TRAVIS:
        return "stub"

    # attempt to fall back to tkinter
    try:
        from six.moves import tkinter
    except ImportError:
        # can not import tkinter
        # ignore this case. If this executes successfully, it is handled in the 'else' clause
        pass
    else:
        return "tkinter"

    # this function has still not returned.
    # this means that all UIs tried above failed.
    # we raise an error in this case.
    raise NotImplementedError("There is no UI implemented for this platform. If you are on a PC, you may be able to fix this by installing tkinter.")

    Return a string describing the UI implementation to use.
    :return: platform identifier
    :rtype: str
    
system/shui/__init__.py