import string
import random


def random_string(string_length=20, punctuation=True):
    """
    Create a random string that is quotable. Usable for basic passwords.

    Args:
        string_length - (optional) The number of characters to generate
        punctuation - (optional) True if the generated characters should include
            punctuation
    """
    chars = string.ascii_letters + string.digits
    if punctuation:
        chars += string.punctuation
    chars = chars.replace("'", '').replace('`', '').replace('$', '') # remove the ', `, and $ characters to avoid breaking quotes
    return ''.join(random.choice(chars) for i in range(string_length))