This is the documentation for the latest development branch of MicroPython and may refer to features that are not available in released versions.

If you are looking for the documentation for a specific release, use the drop-down menu on the left and select the desired version.

_asyncio – Asynchronous I/O scheduler for writing concurrent code.

Asynchronous I/O scheduler for writing concurrent code.

CPython module: asyncio <https://docs.python.org/3.8/library/asyncio.html>

Example:

import asyncio

async def blink(led, period_ms):
    while True:
        led.on()
        await asyncio.sleep_ms(5)
        led.off()
        await asyncio.sleep_ms(period_ms)

async def main(led1, led2):
    asyncio.create_task(blink(led1, 700))
    asyncio.create_task(blink(led2, 400))
    await asyncio.sleep_ms(10_000)

# Running on a pyboard
from pyb import LED
asyncio.run(main(LED(1), LED(2)))

# Running on a generic board
from machine import Pin
asyncio.run(main(Pin(1), Pin(2)))

Classes

Task

This object wraps a coroutine into a running task. Tasks can be waited on

TaskQueue

Module Contents

class _asyncio.Task

This object wraps a coroutine into a running task. Tasks can be waited on using await task, which will wait for the task to complete and return the return value of the task.

Tasks should not be created directly, rather use create_task to create them.

class _asyncio.TaskQueue(*argv, **kwargs)
peek(*args, **kwargs) Incomplete
pop(*args, **kwargs) Incomplete
push(*args, **kwargs) Incomplete
remove(*args, **kwargs) Incomplete