Como posso empacotar uma corotina como função normal no loop de eventos?

estou usandoassíncio para uma estrutura de rede.

No código abaixo (low_level é a nossa função de baixo nível,main bloco é a nossa entrada no programa,user_func é uma função definida pelo usuário):

import asyncio

loop = asyncio.get_event_loop()
""":type :asyncio.AbstractEventLoop"""


def low_level():
    yield from asyncio.sleep(2)


def user_func():
    yield from low_level()


if __name__ == '__main__':
    co = user_func()
    loop.run_until_complete(co)

Quero embrulhar olow_level como função normal e nãocoroutine(paracompatibility etc.), maslow_level está no loop de eventos. Como pode envolvê-lo como uma função normal?

questionAnswers(1)

yourAnswerToTheQuestion