def tag_check(tags, rating, score, score_range=[-1000000000000000.0, 
    1000000000000000.0], included_ratings=set(), banned_tags=set(),
    required_tags=set(), atleast_tags=set(), atleast_num=0):
    """
    checks if tags and rating match requirements
    """
    if banned_tags & tags:
        return False
    if required_tags & tags != required_tags:
        return False
    if len(atleast_tags & tags) < atleast_num:
        return False
    if rating not in included_ratings:
        return False
    if int(score) < score_range[0]:
        return False
    if int(score) > score_range[1]:
        return False
    return True
