from typing import Union
import asyncio
from typing import Awaitable
from typing import Any


def run_async(future: Union[asyncio.Future, asyncio.Task, Awaitable]) -> Any:
    """Run the asyncio event loop until Future is done.

    This function is a convenience alias for `asyncio.get_event_loop().run_until_complete(future)`.

    Args:
        future: The future to run.

    Returns:
        Any: The Future's result.

    Raises:
        Exception: Any exception raised during execution of the future.
    """
    return asyncio.get_event_loop().run_until_complete(future)