You could do something like this entirely in memcache, though it wouldn't survive random key eviction or flushing:
# Create a key based on time truncated to the minute.
key = 'X' + str(datetime.datetime.utcnow().replace(second=0, microsecond=0))
# Initialize the key and have it expire after a while.
if not memcache.add(key, 1, time=90):
# If the key already exists, increment the value and save the result.
count = memcache.incr(key)
# Do something if it's greater than your per minute rate limit.
if count > MAX_X_PER_MINUTE:
raise Error