def left_pad(text: str, length: int, padding: str) ->str:
    """
    Pad text from the left to a certain length

    :param text: The text to pad
    :param length: The length to pad to
    :param padding: The padding to use
    :raises ValueError: If the padding is invalid or the text is too long
    :return: The padded text
    """
    if len(padding) != 1:
        raise ValueError("Only single-character padding supported: '{}'".
            format(padding))
    if len(text) > length:
        raise ValueError("Text more than {} characters long: '{}'".format(
            length, text))
    number_of_pads = length - len(text)
    return number_of_pads * padding + text
