import string
import random


def short_random_id() -> str:
    """
    Generates a random string of 10 characters that
    starts with a random letters of the ascii alphabet or '_'
    and is followed by 9 randomly chosen digits, letters or '_'.

    Example:
    --------
        >>> short_random_id()
        'mcy_t5l0fp'

    Returns
    -------
        `str`
            Randomly generated 10 character string.
    """
    alphabet = string.ascii_lowercase + string.digits + "_"
    return "".join(random.choices(string.ascii_lowercase + "_")) + "".join(
        random.choices(alphabet, k=9)
    )