git: 01500980658a - main - sysutils/py-clustershell: new port, Python framework for efficient cluster administration

From: Thierry Thomas <thierry_at_FreeBSD.org>
Date: Tue, 04 Nov 2025 16:54:28 UTC
The branch main has been updated by thierry:

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

commit 01500980658a8984f080e924eaaa07516ad33ce5
Author:     Generic Rikka <rikka.goering@outlook.de>
AuthorDate: 2025-11-04 13:09:49 +0000
Commit:     Thierry Thomas <thierry@FreeBSD.org>
CommitDate: 2025-11-04 16:53:28 +0000

    sysutils/py-clustershell: new port, Python framework for efficient cluster administration
    
    ClusterShell is a Python framework for efficient cluster administration.
    It provides high-level APIs and CLI tools (clush, nodeset) for parallel command
    execution and manipulation of large node sets, used widely in HPC sites and
    supercomputing centers.
    
    PR:             289176
    Reported by:    Generic Rikka
---
 sysutils/Makefile                  |  1 +
 sysutils/py-clustershell/Makefile  | 20 ++++++++++++++++++++
 sysutils/py-clustershell/distinfo  |  3 +++
 sysutils/py-clustershell/pkg-descr |  3 +++
 4 files changed, 27 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index db9c2d5e6808..c2a3c28607fa 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1039,6 +1039,7 @@
     SUBDIR += py-bitrot
     SUBDIR += py-blinkstick
     SUBDIR += py-borgmatic
+    SUBDIR += py-clustershell
     SUBDIR += py-concurrent-log-handler
     SUBDIR += py-container-inspector
     SUBDIR += py-cron-descriptor
diff --git a/sysutils/py-clustershell/Makefile b/sysutils/py-clustershell/Makefile
new file mode 100644
index 000000000000..323394811b05
--- /dev/null
+++ b/sysutils/py-clustershell/Makefile
@@ -0,0 +1,20 @@
+PORTNAME=	clustershell
+PORTVERSION=	1.9.3
+CATEGORIES=	sysutils python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	ClusterShell-${PORTVERSION}
+
+MAINTAINER=	rikka.goering@outlook.de
+COMMENT=	Python framework for efficient cluster administration (NodeSet, clush)
+WWW=		https://cea-hpc.github.io/clustershell/
+
+LICENSE=	LGPL21
+LICENSE_FILE=	${WRKSRC}/COPYING.LGPLv2.1
+
+USES=		pytest python
+USE_PYTHON=	autoplist distutils
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/sysutils/py-clustershell/distinfo b/sysutils/py-clustershell/distinfo
new file mode 100644
index 000000000000..80dfdc4a0097
--- /dev/null
+++ b/sysutils/py-clustershell/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1762196845
+SHA256 (ClusterShell-1.9.3.tar.gz) = e284c0e6b3fe0a0cd6be67df71dfbf6aa321188973db683a057f5637552fbc8c
+SIZE (ClusterShell-1.9.3.tar.gz) = 417135
diff --git a/sysutils/py-clustershell/pkg-descr b/sysutils/py-clustershell/pkg-descr
new file mode 100644
index 000000000000..a480e58d1325
--- /dev/null
+++ b/sysutils/py-clustershell/pkg-descr
@@ -0,0 +1,3 @@
+ClusterShell is a Python framework for efficient cluster administration,
+used to run commands and copy files in parallel and to manipulate cluster
+node sets (NodeSet).