async def run_taskgroup(*async_tasks: Awaitable[Any]) -> list[Any]:
    """Run a list of coroutines concurrently.

    Args:
        *async_tasks: The list of coroutines to run.

    Returns:
        The results of the coroutines.
    """
    results: list[Any] = [None] * len(async_tasks)

    async def run_task(index: int, task: Awaitable[T]) -> None:
        results[index] = await task

    async with create_task_group() as tg:
        for i, t in enumerate(async_tasks):
            tg.start_soon(run_task, i, t)

    return results
Run a list of coroutines concurrently.

    Args:
        *async_tasks: The list of coroutines to run.

    Returns:
        The results of the coroutines.
    
kreuzberg/_utils/_sync.py