import string
import random


def random_string(min_length: int = 1, max_length: int = 150):
    """
    Generate a random string.

    Args:
        min_length(int): minimum length of the generated string
        max_length(int): maximum length of the generated string

    Returns:
        str: a string of random characters

    """
    char_source = string.ascii_letters + string.digits + "-"
    length = random.randint(min_length, max_length)
    return "".join(random.choice(char_source) for _ in range(length))