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)
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.78-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c157c7910a9b3f46894a58e6ae5f2b52f8e79a8c2bbf9c6858b28b0189798ad0 |
|
MD5 | b5f5a83111a6f25e5166f2e7ea798f24 |
|
BLAKE2b-256 | 40bc71369639de2023ef46e058d74424cacc3fe2cc804507cc933b054d440126 |