from typing import Tuple


def split_at(text: str, sep: str) -> Tuple[str, str]:
    """Split 'text' at the specified separator.

    Returns a 2 tuple: the part before the separator and the rest of the string (starting
    with the separator).

    Raises a ValueError if 'text' does not contain 'sep'.
    """
    parts = text.partition(sep)
    if not parts[1]:
        raise ValueError('"{}" not found in string'.format(sep))
    return parts[0], parts[1] + parts[2]