An elixir library to create ZIP file in a streaming fashion. It could consume data from any stream and write to any stream with constant memory overhead
Zstream.zip([ Zstream.entry("report.csv", Stream.map(records, &CSV.dump/1)), Zstream.entry("catfilm.mp4", File.stream!("/catfilm.mp4"), coder: Zstream.Coder.Stored) ]) |> Stream.into(File.stream!("/archive.zip")) |> Stream.run
see documenation for more information.