def split_into_parts(text: str, num_parts: int) -> list[str]: 
    """
    Splits text into an array of size num_parts.

    Parameters
    ------------
    text: str
        The text to be split up.
    num_parts: int
        How many equally sized parts to split the text into.

    Returns
    ------------
    str[]
        An array of strings (parts).
    """
    #https://stackoverflow.com/questions/2130016/splitting-a-list-into-n-parts-of-approximately-equal-length
    #tixxit
    k, m = divmod(len(text), num_parts) 
    return list(text[i*k+min(i, m):(i+1)*k+min(i+1, m)] for i in range(num_parts))