¿Cómo construir un objeto TarFile en memoria desde un byte buffer en Python 3?

¿Es posible crear un objeto TarFile en la memoria usando un búfer que contiene los datos tar sin tener que escribir el TarFile en el disco y abrirlo de nuevo? Obtenemos los bytes enviados a través de un socket.

Algo como esto:

import tarfile
byte_array = client.read_bytes()
tar = tarfile.open(byte_array) # how to do this?
# use "tar" as a regular TarFile object
for member in tar.getmembers():
    f = tar.extractfile(member)
    print(f)

Nota: una de las razones para hacer esto es que eventualmente queremos poder hacer esto con varios subprocesos simultáneamente, por lo que el uso de un archivo temporal puede ser anulado si dos subprocesos intentan hacerlo al mismo tiempo.

¡Gracias por cualquier ayuda!

Respuestas a la pregunta(2)

Su respuesta a la pregunta