Name | stream-zip JSON |
Version |
0.0.83
JSON |
| download |
home_page | None |
Summary | Python function to construct a ZIP archive with stream processing - without having to store the entire ZIP in memory or disk |
upload_time | 2024-09-20 17:22:23 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.6.7 |
license | None |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
|
<!-- --8<-- [start:intro] -->
# stream-zip
[](https://packages.debian.org/sid/python3-stream-zip) [](https://anaconda.org/conda-forge/stream-zip) [](https://pypi.org/project/stream-zip/) [](https://github.com/uktrade/stream-zip/actions/workflows/test.yml) [](https://app.codecov.io/gh/uktrade/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](https://github.com/BuzonIO/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.
<!-- --8<-- [end:intro] -->
To unZIP files on the fly try [stream-unzip](https://github.com/uktrade/stream-unzip).
<!-- --8<-- [start:features] -->
## Features
In addition to being memory efficient (with some [limitations](https://stream-zip.docs.trade.gov.uk/get-started/#limitations)) stream-zip:
- Constructs ZIP files that can be stream unzipped, for example by [stream-unzip](https://stream-unzip.docs.trade.gov.uk/)
- 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](https://www.winzip.com/en/support/aes-encryption/).
- 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)
<!-- --8<-- [end:features] -->
---
Visit the [stream-zip documentation](https://stream-zip.docs.trade.gov.uk/) for usage instructions.
Raw data
{
"_id": null,
"home_page": null,
"name": "stream-zip",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6.7",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Department for International Trade <sre@digital.trade.gov.uk>",
"download_url": "https://files.pythonhosted.org/packages/08/8a/0674a98c1d3d8edf1461b92474ed9cfe19298a297aab9a8ccd9ae1f15b07/stream_zip-0.0.83.tar.gz",
"platform": null,
"description": "<!-- --8<-- [start:intro] -->\n# stream-zip\n\n[](https://packages.debian.org/sid/python3-stream-zip) [](https://anaconda.org/conda-forge/stream-zip) [](https://pypi.org/project/stream-zip/) [](https://github.com/uktrade/stream-zip/actions/workflows/test.yml) [](https://app.codecov.io/gh/uktrade/stream-zip)\n\nPython 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.\n\nOffers similar functionality to [zipfly](https://github.com/BuzonIO/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.\n<!-- --8<-- [end:intro] -->\n\nTo unZIP files on the fly try [stream-unzip](https://github.com/uktrade/stream-unzip).\n\n<!-- --8<-- [start:features] -->\n## Features\n\nIn addition to being memory efficient (with some [limitations](https://stream-zip.docs.trade.gov.uk/get-started/#limitations)) stream-zip:\n\n- Constructs ZIP files that can be stream unzipped, for example by [stream-unzip](https://stream-unzip.docs.trade.gov.uk/)\n\n- Can construct Zip64 ZIP files. Zip64 ZIP files allow sizes far beyond the approximate 4GiB limit of the original ZIP format\n\n- Can construct ZIP files that contain symbolic links\n\n- Can construct ZIP files that contain directories, including empty directories\n\n- Can construct password protected / AES-256 encrypted ZIP files adhering to the [WinZip AE-2 specification](https://www.winzip.com/en/support/aes-encryption/).\n\n- Allows the specification of permissions on the member files and directories (although not all clients respect them)\n\n- By default stores modification time as an extended timestamp. An extended timestamp is a more accurate timestamp than the original ZIP format allows\n\n- Provides an async interface (that uses threads under the hood)\n\n<!-- --8<-- [end:features] -->\n\n---\n\nVisit the [stream-zip documentation](https://stream-zip.docs.trade.gov.uk/) for usage instructions.\n",
"bugtrack_url": null,
"license": null,
"summary": "Python function to construct a ZIP archive with stream processing - without having to store the entire ZIP in memory or disk",
"version": "0.0.83",
"project_urls": {
"Documentation": "https://stream-zip.docs.trade.gov.uk/",
"Source": "https://github.com/uktrade/stream-zip"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "889953c4dcc32a8d97d133d707c18cb667782b911dffc53bc635616139ba8c38",
"md5": "3d08623753b20048fb030baabe680f52",
"sha256": "118bef93c10031dc715235e081c72e1dab2850771893f261cb5d246ff56e0e42"
},
"downloads": -1,
"filename": "stream_zip-0.0.83-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3d08623753b20048fb030baabe680f52",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6.7",
"size": 9764,
"upload_time": "2024-09-20T17:22:22",
"upload_time_iso_8601": "2024-09-20T17:22:22.888672Z",
"url": "https://files.pythonhosted.org/packages/88/99/53c4dcc32a8d97d133d707c18cb667782b911dffc53bc635616139ba8c38/stream_zip-0.0.83-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "088a0674a98c1d3d8edf1461b92474ed9cfe19298a297aab9a8ccd9ae1f15b07",
"md5": "6b9c69b5207007e37ddf1cbb3612465c",
"sha256": "87d755f0ce43dfc6b0ae555b733f162c76e2eafcf3c7805d3f591e966b316716"
},
"downloads": -1,
"filename": "stream_zip-0.0.83.tar.gz",
"has_sig": false,
"md5_digest": "6b9c69b5207007e37ddf1cbb3612465c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.7",
"size": 9961,
"upload_time": "2024-09-20T17:22:23",
"upload_time_iso_8601": "2024-09-20T17:22:23.856321Z",
"url": "https://files.pythonhosted.org/packages/08/8a/0674a98c1d3d8edf1461b92474ed9cfe19298a297aab9a8ccd9ae1f15b07/stream_zip-0.0.83.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-20 17:22:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "uktrade",
"github_project": "stream-zip",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "stream-zip"
}