Repeatedly gets an item from the given queue, until an item equal to `eof` (using `==` or `is`) is encountered.
    If no `eof` is given, the stream does not stop.

def stream_from_queue(queue: asyncio.Queue, eof: Any=__DEFAULT, *, use_is: bool=False) -> AsyncIterator[Any]:
    """
    Repeatedly gets an item from the given queue, until an item equal to `eof` (using `==` or `is`) is encountered.
    If no `eof` is given, the stream does not stop.
    """
    if eof is not __DEFAULT:
        return cast(AsyncIterator[Any], repeat_func_eof(queue.get, eof, use_is=use_is))
    else:
        return cast(AsyncIterator[Any], repeat_func(queue.get))