speedlimit

A python package provides speed limiting iterators other various helpers using the leaky token bucket algorithm.


Keywords
rate-limit, limits
License
Apache-2.0
Install
pip install speedlimit==0.1.1

Documentation

Speed limit

https://travis-ci.org/harlowja/speedlimit.png?branch=master

Speed limit utilities that use the token bucket algorithm internally.

An example:

>>> import string
>>> import time
>>>
>>> import speedlimit
>>>
>>> police = speedlimit.SpeedLimit(1)
>>>
>>> it = iter(string.ascii_lowercase)
>>> t_zero = time.time()
>>>
>>> for alpha in police.speed_limit_iter(it):
...     print("Got %s at %0.2f" % (alpha,  time.time() - t_zero))
...
Got a at 1.00
Got b at 2.00
Got c at 3.00
Got d at 4.00
Got e at 5.00
Got f at 6.00
Got g at 7.00
Got h at 8.00
Got i at 9.00
Got j at 10.00
Got k at 11.00
Got l at 12.00
Got m at 13.00
Got n at 14.00
Got o at 15.00
Got p at 16.00
Got q at 17.00
Got r at 18.00
Got s at 19.00
Got t at 20.00
Got u at 21.00
Got v at 22.00
Got w at 23.00
Got x at 24.00
Got y at 25.00
Got z at 26.00