code: def ungzipper(fh, blocksize=16384):
      
      import zlib
      uzip = zlib.decompressobj(16 + zlib.MAX_WBITS)
      data = uzip.decompress(fh.read(blocksize)).split("\n")
  
      while len(data[0]):
          # last chunk might not be a full line.
          save = data.pop()
          for line in data:
              yield line
          data = uzip.decompress(fh.read(blocksize)).split("\n")
          # first line is prepended with saved chunk from end of last set.
          data[0] = save + data[0]
docs: work-around to get streaming download of http://.../some.gz