Python function to construct a ZIP archive with stream processing - without having to store the entire ZIP in memory or disk
Project description
stream-zip
Python function to construct a ZIP archive on the fly - without having to store the entire ZIP in memory or disk. This is useful in memory-constrained environments, or when you would like to start returning compressed data before you've even retrieved all the uncompressed data. Generating ZIPs on-demand in a web server is a typical use case for stream-zip.
Offers similar functionality to zipfly, but with a different API, and does not use Python's zipfile module under the hood. Creates both Zip32/2.0/Legacy and Zip64 files.
To unZIP files on the fly try stream-unzip.
Features
In addition to being memory efficient (with some limitations) stream-zip:
-
Constructs ZIP files that can be stream unzipped, for example by stream-unzip
-
Can construct Zip64 ZIP files. Zip64 ZIP files allow sizes far beyond the approximate 4GiB limit of the original ZIP format
-
Can construct ZIP files that contain symbolic links
-
Can construct ZIP files that contain directories, including empty directories
-
Can construct password protected / AES-256 encrypted ZIP files adhering to the WinZip AE-2 specification.
-
Allows the specification of permissions on the member files and directories (although not all clients respect them)
-
By default stores modification time as an extended timestamp. An extended timestamp is a more accurate timestamp than the original ZIP format allows
-
Provides an async interface (that uses threads under the hood to share code with the sync interface without blocking the event loop)
Visit the stream-zip documentation for usage instructions.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for stream_zip-0.0.71-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4afff6da680876b7982afedcc9c3478a575a519c74015a25a4248d3fe69a46a0 |
|
MD5 | eb34363f190e1830fd28c8f5f2143ef4 |
|
BLAKE2b-256 | bdb5d0ed49efaa28ddbfe29c603b36b1aa2b36281f5c48462516780c54b758dd |