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.79-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fa03878cb22a7dc38d72d97560144de76d09685ce14367464d5203f4e40ee2c |
|
MD5 | 3b76f9cd4244ecdc367ebd2db51f26fb |
|
BLAKE2b-256 | 77c8a4edea7682a4fef2b4ca3d468c23e2a583393ea0d0945767d3b6a7955d01 |