Timeout context manager for asyncio programs
asyncio-compatible timeout context manager.
The context manager is useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for() is not suitable. Also it’s much faster than asyncio.wait_for() because timeout doesn’t create a new task.
The timeout(timeout, *, loop=None) call returns a context manager that cancels a block on timeout expiring:
with timeout(1.5): yield from inner()
- If inner() is executed faster than in 1.5 seconds nothing happens.
- Otherwise inner() is cancelled internally by sending asyncio.CancelledError into but asyncio.TimeoutError is raised outside of context manager scope.
timeout parameter could be None for skipping timeout functionality.
$ pip install async-timeout
The library is Python 3 only!
- Extra check on context manager exit
- 0 is no-op timeout
- Rename to async-timeout
- The first release.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size async_timeout-1.2.0-py3-none-any.whl (4.2 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size async-timeout-1.2.0.tar.gz (7.7 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for async_timeout-1.2.0-py3-none-any.whl