stream-zip


Namestream-zip JSON
Version 0.0.83 PyPI version JSON
download
home_pageNone
SummaryPython function to construct a ZIP archive with stream processing - without having to store the entire ZIP in memory or disk
upload_time2024-09-20 17:22:23
maintainerNone
docs_urlNone
authorNone
requires_python>=3.6.7
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            <!-- --8<-- [start:intro] -->
# stream-zip

[![Debian (unstable) package](https://img.shields.io/debian/v/python3-stream-zip/sid?label=Debian%20%28unstable%29)](https://packages.debian.org/sid/python3-stream-zip) [![conda-forge package](https://img.shields.io/conda/v/conda-forge/stream-zip?label=conda-forge&color=%234c1)](https://anaconda.org/conda-forge/stream-zip) [![PyPI package](https://img.shields.io/pypi/v/stream-zip?label=PyPI%20package&color=%234c1)](https://pypi.org/project/stream-zip/) [![Test suite](https://img.shields.io/github/actions/workflow/status/uktrade/stream-zip/test.yml?label=Test%20suite)](https://github.com/uktrade/stream-zip/actions/workflows/test.yml) [![Code coverage](https://img.shields.io/codecov/c/github/uktrade/stream-zip?label=Code%20coverage)](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[![Debian (unstable) package](https://img.shields.io/debian/v/python3-stream-zip/sid?label=Debian%20%28unstable%29)](https://packages.debian.org/sid/python3-stream-zip) [![conda-forge package](https://img.shields.io/conda/v/conda-forge/stream-zip?label=conda-forge&color=%234c1)](https://anaconda.org/conda-forge/stream-zip) [![PyPI package](https://img.shields.io/pypi/v/stream-zip?label=PyPI%20package&color=%234c1)](https://pypi.org/project/stream-zip/) [![Test suite](https://img.shields.io/github/actions/workflow/status/uktrade/stream-zip/test.yml?label=Test%20suite)](https://github.com/uktrade/stream-zip/actions/workflows/test.yml) [![Code coverage](https://img.shields.io/codecov/c/github/uktrade/stream-zip?label=Code%20coverage)](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"
}
        
Elapsed time: 0.34088s