Python 3.11

AttributeError: module 'asyncio' has no attribute 'coroutine'

AttributeError: module 'asyncio' has no attribute 'coroutine'

What it means

The legacy @asyncio.coroutine decorator was removed in Python 3.11.

Why it happens

asyncio.coroutine was deprecated in 3.8 and removed in 3.11. Old async code (or a stale dependency) still uses the generator-based @asyncio.coroutine / `yield from` style.

How to fix it

  1. Rewrite generator-based coroutines as native `async def` functions and replace `yield from` with `await`.
  2. Upgrade dependencies that still use @asyncio.coroutine to current releases.
  3. Re-test on Python 3.11+ (the Lambda target is python3.12).

Related deadline: Lambda Python 3.10 EOL2027-02-01.

Find every instance in your project

The free EOLkits scanner runs in your browser (nothing uploaded) and flags this and related breakages across your IaC and dependency files.

Primary source: https://docs.python.org/3/whatsnew/3.11.html

Get the full migration audit — $299, hash-anchored PDF →