import random
import string


def make_randuid(salt="", n=8):
    """Generate an n-character ID drawn randomly from the 22-
    member string.hexdigits character set:
    >
    >    '0123456789abcdefABCDEF'
    >
    > Probability of uniqueness (for default length n=8 uid):
    >
    >    (1/22**8) = 1.822294453944271e-11

    Parameters
    ----------
    salt : str, optional
        Add salt to front of uid to
        mitigate non-uniqueness risk.
    n : int, optional
        Number of characters to randomly
        draw to create the uid.

    Returns
    -------
    str
        randomly generated hexdigits uid

    Examples
    --------
    >>> [make_randuid() for _ in range(3)]
    ['7eB5740b', 'B0B3e51a', 'C5E3941E']
    """
    return f"{salt}{''.join(random.choices(string.hexdigits, k=n))}"