Running asyncio

Warning

Using asyncio in a notebook is NOT trivial

But it can be done.

If done wrong the error message:

This event loop is already running appears.

For any asyncio functionality to run on Jupyter Notebook you cannot invoke a run_until_complete(), since the loop you will receive from asyncio.get_event_loop() will be active.

So for correct working you must add the task to the current loop:

import asyncio
loop = asyncio.get_event_loop()
loop.create_task(some_async_function())

See: https://blog.jupyter.org/ipython-7-0-async-repl-a35ce050f7f7

Note

Use result() Return the result of the Task. function of asyncio, see https://docs.python.org/3/library/asyncio-task.html#asyncio.run