from typing import List


def parse_dss_phases(dss_str: str, sep='.') -> List[str]:
    """
    Given a bus name string that may include phase from opendss, returns a list
    of chars representing phases.
    Assumes that dss appends bus names with phases, separated by '.'
    Ex: 'sourcebus.2.3' -> ['2', '3']
    If there are no phase numbers, assumes that all phases are present on the bus.
    """
    if sep in dss_str:
        return [str(ph) for ph in dss_str.split(sep)[1:]]
    else:
        return ['1', '2', '3']