git: 0c90397b18e9 - main - devel/py-essentials: New port: General purpose classes and functions

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 06 Oct 2025 08:29:45 UTC
The branch main has been updated by yuri:

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

commit 0c90397b18e9acd32266d0750157b63142aa9521
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-10-06 07:47:35 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-10-06 08:25:52 +0000

    devel/py-essentials: New port: General purpose classes and functions
---
 devel/Makefile                |  1 +
 devel/py-essentials/Makefile  | 25 +++++++++++++++++++++++++
 devel/py-essentials/distinfo  |  3 +++
 devel/py-essentials/pkg-descr | 15 +++++++++++++++
 4 files changed, 44 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 593087000117..b6258ca6c61e 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4864,6 +4864,7 @@
     SUBDIR += py-epc
     SUBDIR += py-epdb
     SUBDIR += py-epsilon
+    SUBDIR += py-essentials
     SUBDIR += py-etcd3gw
     SUBDIR += py-etils
     SUBDIR += py-etuples
diff --git a/devel/py-essentials/Makefile b/devel/py-essentials/Makefile
new file mode 100644
index 000000000000..140b76302ffd
--- /dev/null
+++ b/devel/py-essentials/Makefile
@@ -0,0 +1,25 @@
+PORTNAME=	essentials
+DISTVERSION=	1.1.8
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	General purpose classes and functions
+WWW=		https://github.com/Neoteroi/essentials
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pytest-asyncio>0:devel/py-pytest-asyncio@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pydantic>0:devel/py-pydantic@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 autoplist pytest
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+# tests as of 1.1.8: 157 passed in 3.25s
+
+.include <bsd.port.mk>
diff --git a/devel/py-essentials/distinfo b/devel/py-essentials/distinfo
new file mode 100644
index 000000000000..5be79bcad4be
--- /dev/null
+++ b/devel/py-essentials/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1759627635
+SHA256 (essentials-1.1.8.tar.gz) = e042e0b33d385cfc26e1f0cc189fce5570d0959a1983438a557e7963a87b5638
+SIZE (essentials-1.1.8.tar.gz) = 25098
diff --git a/devel/py-essentials/pkg-descr b/devel/py-essentials/pkg-descr
new file mode 100644
index 000000000000..2929dd02b4ae
--- /dev/null
+++ b/devel/py-essentials/pkg-descr
@@ -0,0 +1,15 @@
+Essentials is a collection of general-purpose classes and functions for
+Python development. It provides commonly used utilities and helpers that
+can be reused across different projects.
+
+Key features:
+* Common utility classes and functions
+* String manipulation helpers
+* Date and time utilities
+* Collection manipulation tools
+* Type checking and validation helpers
+* Configuration management utilities
+* File system operation helpers
+
+The library is designed to reduce code duplication and provide a
+consistent set of tools for everyday Python programming tasks.