git: ca3db0618817 - main - textproc/py-Tubes: New port: Data-processing and flow-control engine for event-driven programs

From: Jesús Daniel Colmenares Oviedo <dtxdf_at_FreeBSD.org>
Date: Tue, 03 Jun 2025 20:33:33 UTC
The branch main has been updated by dtxdf:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ca3db0618817be829a2b3b830d579c5cf3fe56cf

commit ca3db0618817be829a2b3b830d579c5cf3fe56cf
Author:     Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
AuthorDate: 2025-06-03 17:17:11 +0000
Commit:     Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
CommitDate: 2025-06-03 20:32:47 +0000

    textproc/py-Tubes: New port: Data-processing and flow-control engine for event-driven programs
    
    The tubes package provides composable flow-control and data processing.
    
    Flow-control is control over the source, destination, and rate of
    data being processed. Tubes implements this in a type-agnostic way,
    meaning that a set of rules for controlling the flow of data can
    control that flow regardless of the type of that data, from raw
    streams of bytes to application-specific messages and back again.
    
    Composable data processing refers to processing that can occur in
    independent units. For example, the conversion of a continuous
    stream of bytes into a discrete sequence of messages can be implemented
    independently from the presentation of or reactions to those messages.
    This allows for similar messages to be relayed in different formats
    and by different protocols, but be processed by the same code.
    
    PR:             287124
    Approved by:    acm (mentor)
---
 textproc/Makefile           |  1 +
 textproc/py-Tubes/Makefile  | 19 +++++++++++++++++++
 textproc/py-Tubes/distinfo  |  3 +++
 textproc/py-Tubes/pkg-descr | 14 ++++++++++++++
 4 files changed, 37 insertions(+)

diff --git a/textproc/Makefile b/textproc/Makefile
index ed6984b3536e..f28ea24b835c 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1301,6 +1301,7 @@
     SUBDIR += py-QDarkStyle
     SUBDIR += py-TatSu
     SUBDIR += py-Tempita
+    SUBDIR += py-Tubes
     SUBDIR += py-accessible-pygments
     SUBDIR += py-acora
     SUBDIR += py-aeidon
diff --git a/textproc/py-Tubes/Makefile b/textproc/py-Tubes/Makefile
new file mode 100644
index 000000000000..514e381003f9
--- /dev/null
+++ b/textproc/py-Tubes/Makefile
@@ -0,0 +1,19 @@
+PORTNAME=	Tubes
+DISTVERSION=	0.2.1
+CATEGORIES=	textproc python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	dtxdf@FreeBSD.org
+COMMENT=	Data-processing and flow-control engine for event-driven programs
+WWW=		https://twisted.org/${PORTNAME}
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		python
+USE_PYTHON=	autoplist distutils
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/textproc/py-Tubes/distinfo b/textproc/py-Tubes/distinfo
new file mode 100644
index 000000000000..43ea818b607a
--- /dev/null
+++ b/textproc/py-Tubes/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1748372818
+SHA256 (Tubes-0.2.1.tar.gz) = 59b9197f2fa6f7fc6bc3281de55797adc729bb75c9c613b4f6d6c41599f0d78b
+SIZE (Tubes-0.2.1.tar.gz) = 47699
diff --git a/textproc/py-Tubes/pkg-descr b/textproc/py-Tubes/pkg-descr
new file mode 100644
index 000000000000..941cae13acbf
--- /dev/null
+++ b/textproc/py-Tubes/pkg-descr
@@ -0,0 +1,14 @@
+The tubes package provides composable flow-control and data processing.
+
+Flow-control is control over the source, destination, and rate of
+data being processed. Tubes implements this in a type-agnostic way,
+meaning that a set of rules for controlling the flow of data can
+control that flow regardless of the type of that data, from raw
+streams of bytes to application-specific messages and back again.
+
+Composable data processing refers to processing that can occur in
+independent units. For example, the conversion of a continuous
+stream of bytes into a discrete sequence of messages can be implemented
+independently from the presentation of or reactions to those messages.
+This allows for similar messages to be relayed in different formats
+and by different protocols, but be processed by the same code.