from typing import Coroutine
import asyncio


def run_coro(coro: Coroutine):
    """
    Run an async coroutine and wait for the results

    Args:
        coro (CoroutineType): The coroutine to execute
    Returns:
        The result of the coroutine
    """
    event_loop = None
    try:
        event_loop = asyncio.get_event_loop()
    except RuntimeError:
        event_loop = asyncio.new_event_loop()
        asyncio.set_event_loop(event_loop)
    return event_loop.run_until_complete(coro)