{"id":341,"library":"async-timeout","title":"async-timeout: Timeout Context Manager for Asyncio Programs","description":"Provides a timeout context manager for asyncio programs, allowing for easy management of timeouts in asynchronous code. Current version: 5.0.1. Maintained with regular updates.","status":"active","version":"5.0.1","language":"python","source_language":"en","source_url":"https://github.com/aio-libs/async-timeout","tags":["asyncio","timeout","asynchronous programming","Python 3.8+"],"install":[{"cmd":"pip install async-timeout","lang":"bash","label":"Install async-timeout"}],"dependencies":[{"reason":"Required for asynchronous programming in Python","package":"asyncio","optional":false}],"imports":[{"note":"Ensure correct import path to avoid ImportError","symbol":"Timeout","correct":"from async_timeout import timeout"}],"quickstart":{"code":"import asyncio\nfrom async_timeout import timeout\n\nasync def main():\n    async with timeout(10):\n        await asyncio.sleep(5)\n        print('Completed within timeout')\n\nasyncio.run(main())","lang":"python","description":"Demonstrates usage of the timeout context manager to set a 10-second timeout for an asynchronous operation."},"warnings":[{"fix":"Update your code to use the new 'timeout' function signature and behavior.","message":"Version 5.0.0 introduced changes to the 'timeout' function, making it fully compatible with the standard 'asyncio.Timeout'.","severity":"breaking","affected_versions":"5.0.0"},{"fix":"Upgrade your Python environment to version 3.7 or higher.","message":"Support for Python 3.6 was dropped in version 4.0.3.","severity":"deprecated","affected_versions":"4.0.3"}],"env_vars":null,"last_verified":"2026-05-12T13:10:45.557Z","next_check":"2026-06-26T00:00:00.000Z","problems":[{"fix":"Install the module using pip: 'pip install async-timeout'.","cause":"The 'async_timeout' module is not installed in the Python environment.","error":"ModuleNotFoundError: No module named 'async_timeout'"},{"fix":"Ensure you have the latest version installed: 'pip install --upgrade async-timeout'.","cause":"The 'timeout' function is not available in the 'async_timeout' module, possibly due to an outdated version.","error":"ImportError: cannot import name 'timeout' from 'async_timeout'"},{"fix":"Verify the installation and version: 'pip show async-timeout' and upgrade if necessary.","cause":"The 'timeout' attribute is missing from the 'async_timeout' module, likely due to an incorrect installation or version.","error":"AttributeError: module 'async_timeout' has no attribute 'timeout'"},{"fix":"Pass the timeout duration as the first positional argument, for example: `async with timeout(5.0):` instead of `async with timeout(timeout=5.0):`.","cause":"This issue arises when calling the `timeout` context manager with a keyword argument named `timeout`, while the function expects the duration as a positional argument or a different keyword like `delay`.","error":"TypeError: timeout() got an unexpected keyword argument 'timeout'"},{"fix":"Handle the `asyncio.TimeoutError` exception using a `try...except` block, increase the `timeout` duration if the operation legitimately takes longer, or optimize the underlying asynchronous code to complete faster.","cause":"The asynchronous operation wrapped by the `async_timeout.timeout` context manager did not complete within the specified time limit, causing a `asyncio.TimeoutError` to be raised.","error":"asyncio.TimeoutError"}],"ecosystem":"pypi","meta_description":null,"install_score":100,"install_tag":"verified","quickstart_score":80,"quickstart_tag":"verified","pypi_latest":null,"install_checks":{"last_tested":"2026-05-12","tag":"verified","tag_description":"installs cleanly on critical runtimes, fast import, recently tested","results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.08,"mem_mb":4,"disk_size":"17.8M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.06,"mem_mb":4,"disk_size":"18M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.16,"mem_mb":4.9,"disk_size":"19.6M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.14,"mem_mb":4.9,"disk_size":"20M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.38,"mem_mb":8.2,"disk_size":"11.5M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.33,"mem_mb":8.2,"disk_size":"12M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.4,"mem_mb":8.7,"disk_size":"11.2M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.33,"mem_mb":8.7,"disk_size":"12M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.08,"mem_mb":3.9,"disk_size":"17.3M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.07,"mem_mb":3.9,"disk_size":"18M"}]},"quickstart_checks":{"last_tested":"2026-04-23","tag":"verified","tag_description":"quickstart runs on critical runtimes, recently tested","results":[{"runtime":"python:3.10-alpine","exit_code":0},{"runtime":"python:3.10-slim","exit_code":0},{"runtime":"python:3.11-alpine","exit_code":0},{"runtime":"python:3.11-slim","exit_code":0},{"runtime":"python:3.12-alpine","exit_code":0},{"runtime":"python:3.12-slim","exit_code":0},{"runtime":"python:3.13-alpine","exit_code":0},{"runtime":"python:3.13-slim","exit_code":0},{"runtime":"python:3.9-alpine","exit_code":0},{"runtime":"python:3.9-slim","exit_code":0}]}}