For whatever reason, this seems like a popular thing to implement. There are several on pypi already so it would useful to know why you wrote a new one.
Something that seems missing is a pluggable backend for when you need to coordinate rate-limiting across machines. This library allows for a variety of backends: