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 projected create/update restrictions2027-02-01.

Check configured patterns in your project

The free EOLkits scanner processes files in your browser and flags selected related patterns in supported IaC and dependency files. File names and contents are not uploaded; bounded aggregate file and finding counts may be sent. It is not a complete source or AWS-account scan.

Prefer a 10-second check? Paste your config into the free AWS EOL checker. Pasted input is not uploaded; bounded first-party usage events may be sent.

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

Inspect the $299 report sample and availability →