Source code for alphanum.alphanum

try:
    import secrets as random
except ImportError:
    import random
import string

POP = string.ascii_letters + string.digits


[docs]def generate(length: int = 1) -> str: """Generates a random string of alphanumeric characters of the given length. If no length is specified, a single character is returned. On Python 3.5, this string is pseudo-randomly generated using :py:mod:`random`. With 3.6 and later, the randomness is generated with :py:mod:`secrets`, making the randomization cryptographically strong. Args: length (:obj:`int`, optional): Desired string length. Defaults to 1. Returns: str: A pseudo-random alphanumeric string. Examples: >>> print(alphanum.generate()) 'G' >>> print(alphanum.generate(10)) 'a93jfDjdA0' """ return ''.join(random.SystemRandom().choice(POP) for i in range(length))