Asynchronous generator to io.BufferedReader

I’m looking to use Starlette’s request.stream from an incoming request and feed it straight into a tarfile.open similar to tarfile.open(request.stream(), mode="r|*"). But this doesn’t work as request.stream() is an async generator and tarfile.open is expecting a file-like object (e.g. io.BufferedReader).

Any suggestions on how one goes about converting an async generator to a BufferedReader?