Date: Sun, 30 Apr 2023 18:43:14 GMT From: Robert Clausecker <fuz@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 4dc6444322ea - main - archivers/py-zipstream-ng: New port: streamable zip file generator Message-ID: <202304301843.33UIhEIg043773@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/ports/commit/?id=4dc6444322ea7e531a3c2bfbc87911295daff4ec commit 4dc6444322ea7e531a3c2bfbc87911295daff4ec Author: Jesús Daniel Colmenares Oviedo <DtxdF@disroot.org> AuthorDate: 2023-04-10 23:33:30 +0000 Commit: Robert Clausecker <fuz@FreeBSD.org> CommitDate: 2023-04-30 18:41:44 +0000 archivers/py-zipstream-ng: New port: streamable zip file generator zipstream-ng is a modern and easy to use streamable zip file generator. It can package and stream many files and folders on the fly without needing temporary files or excessive memory. Includes the ability to calculate the total size of the stream before any data is actually added (provided no compression is used). This makes it ideal for use in web applications since the total size can be used to set the `Content-Length` header without having to generate the entire file first. Features: * Generates zip data on the fly as it's requested. * Can calculate the total size of the resulting zip file before generation even begins. * Flexible API: Typical use cases are simple, complicated ones are possible. * Supports zipping data from files, bytes, strings, and any other iterable objects. * Threadsafe: Won't mangle data if multiple threads concurrently add/read data to/from the same stream. * Includes a clone of Python's `http.server` module with zip support added. Try `python -m zipstream.server`. * Automatically uses Zip64 extensions, but only if they are required. * No external dependencies. WWW: https://github.com/pR0Ps/zipstream-ng/ PR: 270750 --- archivers/Makefile | 1 + archivers/py-zipstream-ng/Makefile | 19 +++++++++++++++++++ archivers/py-zipstream-ng/distinfo | 3 +++ archivers/py-zipstream-ng/pkg-descr | 23 +++++++++++++++++++++++ 4 files changed, 46 insertions(+) diff --git a/archivers/Makefile b/archivers/Makefile index 681b33f78d51..f76683b042aa 100644 --- a/archivers/Makefile +++ b/archivers/Makefile @@ -204,6 +204,7 @@ SUBDIR += py-sozipfile SUBDIR += py-warctools SUBDIR += py-xopen + SUBDIR += py-zipstream-ng SUBDIR += py-zopfli SUBDIR += py-zstandard SUBDIR += py-zstd diff --git a/archivers/py-zipstream-ng/Makefile b/archivers/py-zipstream-ng/Makefile new file mode 100644 index 000000000000..51e4dddb1b6e --- /dev/null +++ b/archivers/py-zipstream-ng/Makefile @@ -0,0 +1,19 @@ +PORTNAME= zipstream-ng +DISTVERSION= 1.5.0 +CATEGORIES= archivers python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= DtxdF@disroot.org +COMMENT= Modern and easy to use streamable zip file generator +WWW= https://github.com/pR0Ps/zipstream-ng/ + +LICENSE= LGPL3 +LICENSE_FILE= ${WRKSRC}/LICENSE + +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} + +USES= python:3.5+ +USE_PYTHON= autoplist distutils pytest + +.include <bsd.port.mk> diff --git a/archivers/py-zipstream-ng/distinfo b/archivers/py-zipstream-ng/distinfo new file mode 100644 index 000000000000..d8566f790f37 --- /dev/null +++ b/archivers/py-zipstream-ng/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1680566521 +SHA256 (zipstream-ng-1.5.0.tar.gz) = ff02b1dac4ef8b4acba70a2c986991e9acd4cfab9c6fa966da9133f0a7015863 +SIZE (zipstream-ng-1.5.0.tar.gz) = 32399 diff --git a/archivers/py-zipstream-ng/pkg-descr b/archivers/py-zipstream-ng/pkg-descr new file mode 100644 index 000000000000..162071cbf7c9 --- /dev/null +++ b/archivers/py-zipstream-ng/pkg-descr @@ -0,0 +1,23 @@ +zipstream-ng is a modern and easy to use streamable zip file +generator. It can package and stream many files and folders on the +fly without needing temporary files or excessive memory. + +Includes the ability to calculate the total size of the stream +before any data is actually added (provided no compression is used). +This makes it ideal for use in web applications since the total +size can be used to set the `Content-Length` header without having +to generate the entire file first. + +Features: + * Generates zip data on the fly as it's requested. + * Can calculate the total size of the resulting zip file before generation even + begins. + * Flexible API: Typical use cases are simple, complicated ones are possible. + * Supports zipping data from files, bytes, strings, and any other iterable + objects. + * Threadsafe: Won't mangle data if multiple threads concurrently add/read data + to/from the same stream. + * Includes a clone of Python's `http.server` module with zip support added. + Try `python -m zipstream.server`. + * Automatically uses Zip64 extensions, but only if they are required. + * No external dependencies.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202304301843.33UIhEIg043773>