import re


def clean_tweet(tweet):
    """
    Cleans the tweet text of URLs, user tags, hashtags, pictures,
    and smart punctuation.

    Whitespace does not need to be normalized since it is ignored
    anyways when generating the stylecloud.
    """

    pattern = r'http\S+|pic.\S+|@[a-zA-Z0-9_]+|#[a-zA-Z0-9_]+|[‘’“”’–—…]|\xa0'
    return re.sub(pattern, '', tweet)