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!
- Support unpublished event loop’s “current_task” api.
- Extra check on context manager exit
- 0 is no-op timeout
- Rename to async-timeout
- The first release.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|async_timeout-1.2.1-py3-none-any.whl (4.4 kB) Copy SHA256 hash SHA256||Wheel||py3|
|async-timeout-1.2.1.tar.gz (7.8 kB) Copy SHA256 hash SHA256||Source||None|