Biblioteca zip en memoria de Python

¿Existe una biblioteca de Python que permita la manipulación de archivos zip en la memoria, sin tener que usar archivos de disco reales?

La biblioteca ZipFile no le permite actualizar el archivo. La única forma parece ser extraerlo a un directorio, realizar sus cambios y crear un nuevo zip desde ese directorio. Quiero modificar los archivos zip sin acceso al disco, porque los descargaré, haré cambios y los cargaré nuevamente, así que no tengo ninguna razón para almacenarlos.

Algo similar al ZipInputStream / ZipOutputStream de Java funcionaría, aunque cualquier interfaz que evite el acceso al disco estaría bien.

Respuestas a la pregunta(4)

Su respuesta a la pregunta