It is in fact possible to predict the length of a Zip archive ahead of time. If :
I've done that in client-zip precisely to enable progress bars and remove the need for chunked encoding. I don't know if there's anything equivalent in Python (or anywhere else).