def authentication_required(fn):
    """Annotation for methods that require auth."""
    def wrapped(self, *args, **kwargs):
        assert self.api_key, "You must be authenticated to use this method"
        return fn(self, *args, **kwargs)
    return wrapped