Metadata-Version: 1.1 Name: async-timeout Version: 1.3.0 Summary: Timeout context manager for asyncio programs Home-page: https://github.com/aio-libs/async_timeout/ Author: Andrew Svetlov Author-email: andrew.svetlov@gmail.com License: Apache 2 Description: async-timeout ============= asyncio-compatible timeout context manager. Usage example ------------- 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:: async with timeout(1.5): await inner() 1. If ``inner()`` is executed faster than in ``1.5`` seconds nothing happens. 2. 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. Context manager has ``.expired`` property for check if timeout happens exactly in context manager:: async with timeout(1.5) as cm: await inner() print(cm.expired) The property is ``True`` is ``inner()`` execution is cancelled by timeout context manager. If ``inner()`` call explicitly raises ``TimeoutError`` ``cm.expired`` is ``False``. Installation ------------ :: $ pip install async-timeout The library is Python 3 only! Authors and License ------------------- The module is written by Andrew Svetlov. It's *Apache 2* licensed and freely available. CHANGES ======= 1.3.0 (2017-08-23) ------------------ * Don't suppress nested exception on timeout. Exception context points on cancelled line with suspended `await` (#13) * Introduce `.timeout` property (#16) * Add methods for using as async context manager (#9) 1.2.1 (2017-05-02) ------------------ * Support unpublished event loop's "current_task" api. 1.2.0 (2017-03-11) ------------------ * Extra check on context manager exit * 0 is no-op timeout 1.1.0 (2016-10-20) ------------------ * Rename to `async-timeout` 1.0.0 (2016-09-09) ------------------ * The first release. Platform: UNKNOWN Classifier: License :: OSI Approved :: Apache Software License Classifier: Intended Audience :: Developers Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Topic :: Internet :: WWW/HTTP Classifier: Framework :: AsyncIO