Skip site navigation (1)Skip section navigation (2)
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>