@dugalh thanks for the info! I'm going to think harder about the zipfile case. Indeed, it's the zipfile that's the container, not the directory containing the zipfile. For the threading issue, I'll double check that I'm using context vars properly. Support for deletion is something I wanted to stay away from, but we can't overwrite a file without it.
See https://github.com/rasterio/rasterio/issues/3079.
This is a blocker for 1.10.0.