---
homepage: true
layout: product
title: Construct ZIP files on the fly
description: Use this Python package to output compressed ZIP files while receiving the uncompressed input
order: 0
startButton:
  href: "get-started"
  text: Get started
---


<div class="govuk-grid-row">
  <section class="govuk-grid-column-one-third-from-desktop govuk-!-margin-bottom-7">
    <h2 class="govuk-heading-m govuk-!-font-size-27">Memory</h2>
    <p class="govuk-body">Only a small amount of data is kept in memory at any one time, with some <a href="/get-started/#limitations" class="govuk-link">limitations</a>.</p>
  </section>
  <section class="govuk-grid-column-one-third-from-desktop govuk-!-margin-bottom-7">
    <h2 class="govuk-heading-m govuk-!-font-size-27">On-demand ZIPs</h2>
    <p class="govuk-body">Generating ZIPs on-demand in a web server is a typical use case for stream-zip.</p>
  </section>
  <section class="govuk-grid-column-one-third-from-desktop govuk-!-margin-bottom-7">
    <h2 class="govuk-heading-m govuk-!-font-size-27">Zip64</h2>
    <p class="govuk-body">Optionally constructs Zip64 files, allowing sizes beyond the 4GiB limit of the original ZIP format.</p>
  </section>
</div>

<hr class="govuk-section-break govuk-section-break--visible govuk-section-break--xl govuk-!-margin-top-0">

<div class="govuk-grid-row">
  <section class="govuk-grid-column-two-thirds">
    <h2 class="govuk-heading-m govuk-!-font-size-27">Contributions</h2>
    <p class="govuk-body">The code for stream-unzip is public and contributions are welcome though the <a class="govuk-link govuk-!-font-weight-bold" href="https://github.com/uktrade/stream-zip">stream-zip repository on GitHub</a>.</p>
  </section>
</div>
