def get_ui_implementation(platform=None):
    """
    Return the classes implementing the UI for the platform.
    :param platform: identifier describing the platform to get the UI implementation for. Defaults to None, in which case it tries to find the best UI.
    :type platform: str
    :return: (ShUI, ShSequentialRenderer)
    :rtype: tuple of (stash.shui.base.ShBaseUI, stash.shui.base.ShBaseSequentialRenderer)
    """
    if platform is None:
        platform = get_platform()
    if platform == "pythonista":
        from .pythonista_ui import ShUI, ShTerminal, ShSequentialRenderer
        return (ShUI, ShSequentialRenderer)
    elif platform == "stub":
        from .stubui import ShUI, ShTerminal, ShSequentialRenderer
        return (ShUI, ShSequentialRenderer)
    elif platform == "tkinter":
        from .tkui import ShUI, ShTerminal, ShSequentialRenderer
        return (ShUI, ShSequentialRenderer)
    else:
        raise NotImplementedError("No UI implemented for platform {}!".format(repr(platform)))

    Return the classes implementing the UI for the platform.
    :param platform: identifier describing the platform to get the UI implementation for. Defaults to None, in which case it tries to find the best UI.
    :type platform: str
    :return: (ShUI, ShSequentialRenderer)
    :rtype: tuple of (stash.shui.base.ShBaseUI, stash.shui.base.ShBaseSequentialRenderer)
    
system/shui/__init__.py