Python decompressing gzip chunk-by-chunk
gzip and zlib use slightly different headers. See How can I decompress a gzip stream with zlib? Try d = zlib.decompressobj(16+zlib.MAX_WBITS). And you might try changing your chunk size to a power of 2 (say CHUNKSIZE=1024) for possible performance reasons.