Source: micropython Version: 1.19.1+ds-1 Severity: normal uasyncio is extremely useful in MicroPython programs in my experience, as it allows for concurrency in environments where there may be otherwise limited (no threads etc.). It's been supported by MicroPython for a while, and I see in upstream's git master that it's has been recently renamed to "asyncio", as it's considered close enough to CPython.
While the upstream Unix port enables (u)asyncio by default, the Debian MicroPython builds do not ship with it. I also checked with 1.20.0+ds-1, as found in salsa. I believe this is because this is enabled by ports/unix/variants/standard/manifest.py Manifets are disabled in the Debian builds by building with FROZEN_MANIFEST=. Removing FROZEN_MANIFEST= from d/rules resulted in the build system complaining about the omission of micropython-lib. Extracting the official 1.20 micropython-lib tarball to lib/micropython-lib, however, made the build work: MicroPython v1.20.0+ds-1 on 2023-08-07; linux [GCC 13.2.0] version Use Ctrl-D to exit, Ctrl-E for paste mode >>> import uasyncio >>> So the solution here is a bit more involved: it requires shipping micropython-lib, for example leveraging multiple tarball support and gbp-import-orig's component support. On that matter, the build above also enabled "mip", the new package manager and flagship feature of v1.20: >>> import mip >>> (There are some mbedTLS DEBUG messages being emitted when fetching from e.g. GitHub, that I haven't tracked down yet, but that's getting a little offtopic.) Given the deviation from the upstream default, and how core these features are, I'm marking this as "normal", rather than "wishlist". But up to you :) Thanks for your work in maintaining MicroPython! Best, Faidon