Skip to main content

Throttles for Python coroutines.

Project description


aiothrottles synchronization primitives are designed to be extension (along the time) to asyncio synchronization primitives.

aiothrottles has the following basic synchronization primitives:

  • Throttle

For more details, see aiothrottles Documentation.


Throttle implements a rate limiting for asyncio task. A throttle can be used to guarantee limited access to a shared resources.

The preferred way to use a Throttle is an async with statement:

throttle = Throttle('3/s')

# ... later
async with throttle:
    # access shared state

which is equivalent to:

throttle  = Throttle('3/s')

# ... later
await throttle.acquire()
    # access shared state

A call rate is determined by the rate argument. Pass the rate in the following formats:

  • "{integer limit}/{unit time}"
  • "{limit's numerator}/{limit's denominator}{unit time}"


  • 4/s, 5/m, 6/h, 7/d
  • 1/second, 2/minute, 3/hour, 4/day
  • 1/3s, 12/37m, 1/5h, 8/3d


pip install aiothrottles


python install

Supported Python Versions

Python 3.5, 3.6, 3.7 and 3.8 are supported.


Run all tests.

python test

Run tests with PyTest.

python -m pytest [-k TEST_NAME] [-m MARKER]


aiothrottles is released under the BSD 3-Clause License.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for aiothrottles, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size aiothrottles-0.1.1-py3-none-any.whl (5.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size aiothrottles-0.1.1.tar.gz (4.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page