--- id: stream-unzip version: "0.0.101" license: unclear license_treatment: permissive maintenance: active --- # stream-unzip — Python function to stream unzip all the files in a ZIP archive, without loading the entire ZIP file into memory or any of its uncompressed files License: permissive · Maintenance: active · Downloads: 876.5K/mo ## What it is and what it does stream-unzip is a Python library that extracts ZIP archives by streaming their contents without holding the entire archive or any uncompressed file in memory at once. It handles modern and legacy ZIP formats including Deflate, Deflate64, Zip64 (files far beyond the approximate 4GiB limit), WinZip AES encryption, ZipCrypto password protection, and BZip2 compression—formats that Python's standard zipfile module cannot always open. The library depends on pycryptodome for encryption and stream-inflate for decompression. The package is designed for scenarios where ZIP files are too large to fit in memory or where you need to process files as they are extracted. It offers both synchronous and asynchronous interfaces (supporting asyncio and trio), making it suitable for streaming workflows in web services, data pipelines, and batch processing. Decryption of legacy ZipCrypto files is reported to be significantly faster than the standard library alternative. Use it for: - Extract large ZIP archives in web services without buffering the entire file to disk or memory. - Process password-protected or AES-encrypted ZIPs in data pipelines where the standard library cannot open them. - Stream unzip operations in async applications using asyncio or trio without blocking. - Handle Deflate64-compressed ZIPs created by Windows Explorer when standard zipfile fails. - Decrypt legacy ZipCrypto-protected archives with better performance than Python's zipfile module. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Streams unzip operations on ZIP archives without loading entire files into memory, supporting Deflate, Deflate64, Zip64, AES encryption, ZipCrypto, and BZip2 compression. Yes. stream-unzip fills a genuine gap in Python's standard library by supporting encryption formats and compression methods the zipfile module cannot handle, while offering memory-efficient streaming for large archives. Active maintenance, no known vulnerabilities, permissive MIT license, and top-5000 PyPI popularity indicate a stable, trusted tool. Medium install friction is acceptable given the prebuilt wheels and lightweight runtime dependencies. ## Install pip install stream-unzip uv add stream-unzip poetry add stream-unzip ## Installing stream-unzip Before you install: Medium install friction with prebuilt wheels for Python 3.10–3.12 across common platforms (macOS, Linux, Windows, musl). Depends on pycryptodome and stream-inflate, both widely available. Active maintenance with last commit 2026-08-10. License in practice: MIT license (permissive) allows use in commercial and private projects with minimal restrictions; attribution required. Quickstart: pip install stream-unzip from stream_unzip import stream_unzip for file_name, file_size, unzipped_chunks in stream_unzip(zip_file_bytes): for chunk in unzipped_chunks: # Process chunk without loading entire file Requires Python >=3.7.7; pycryptodome and stream-inflate must be installed as runtime dependencies. Verify before relying: - Performance benchmarks comparing ZipCrypto decryption speed claim ('approximately 10 times faster') against Python's zipfile module. - Specific async interface details and which asyncio/trio patterns are supported beyond the mention of thread-based trio support. - Memory usage characteristics for very large ZIP files to quantify the streaming advantage in practice. ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 876.5K/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags stream unzip memory efficient, zip file streaming decompression, large zip file handling, encrypted zip extraction, deflate64 zip support, async zip extraction, password protected zip, zip64 streaming, streaming-io, encryption, async-support [View on SkillFed](https://skillfed.io/packages/stream-unzip) · [View on PyPI](https://pypi.org/project/stream-unzip/)