git: f19c30df80b5 - main - databases/py-sqlframe: Add py-sqlframe 3.24.1

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Wed, 19 Mar 2025 03:57:38 UTC
The branch main has been updated by sunpoet:

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

commit f19c30df80b57637f6579acb6834c21aaa960069
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2025-03-19 03:34:57 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2025-03-19 03:34:57 +0000

    databases/py-sqlframe: Add py-sqlframe 3.24.1
    
    SQLFrame implements the PySpark DataFrame API in order to enable running
    transformation pipelines directly on database engines - no Spark clusters or
    dependencies required.
---
 databases/Makefile                         |  1 +
 databases/py-sqlframe/Makefile             | 27 +++++++++++++++++++++++++++
 databases/py-sqlframe/distinfo             |  3 +++
 databases/py-sqlframe/files/patch-setup.py | 11 +++++++++++
 databases/py-sqlframe/pkg-descr            |  3 +++
 5 files changed, 45 insertions(+)

diff --git a/databases/Makefile b/databases/Makefile
index ebe46100e150..9414cac7f5ef 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -837,6 +837,7 @@
     SUBDIR += py-sqlalchemy14
     SUBDIR += py-sqlalchemy20
     SUBDIR += py-sqlcipher3
+    SUBDIR += py-sqlframe
     SUBDIR += py-sqlglot
     SUBDIR += py-sqlglotrs
     SUBDIR += py-sqlite-anyio
diff --git a/databases/py-sqlframe/Makefile b/databases/py-sqlframe/Makefile
new file mode 100644
index 000000000000..473ff1bf340b
--- /dev/null
+++ b/databases/py-sqlframe/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	sqlframe
+PORTVERSION=	3.24.1
+CATEGORIES=	databases python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Turn PySpark Into a Universal DataFrame API
+WWW=		https://sqlframe.readthedocs.io/en/stable/ \
+		https://github.com/eakmanrq/sqlframe
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools-scm>=0:devel/py-setuptools-scm@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}prettytable>=0<4:devel/py-prettytable@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}sqlglot>=24.0.0:databases/py-sqlglot@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/databases/py-sqlframe/distinfo b/databases/py-sqlframe/distinfo
new file mode 100644
index 000000000000..1fdc0d205156
--- /dev/null
+++ b/databases/py-sqlframe/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1742070234
+SHA256 (sqlframe-3.24.1.tar.gz) = fb01ab9c12e85e4a0d6c911d7ba4b3b343846a90382ba9d5aeedc94a0234741b
+SIZE (sqlframe-3.24.1.tar.gz) = 29059774
diff --git a/databases/py-sqlframe/files/patch-setup.py b/databases/py-sqlframe/files/patch-setup.py
new file mode 100644
index 000000000000..578f3ea0c54e
--- /dev/null
+++ b/databases/py-sqlframe/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig	2025-03-12 03:57:29 UTC
++++ setup.py
+@@ -20,7 +20,7 @@ setup(
+     python_requires=">=3.9",
+     install_requires=[
+         "prettytable<4",
+-        "sqlglot>=24.0.0,<26.10",
++        "sqlglot>=24.0.0",
+         "typing_extensions",
+     ],
+     extras_require={
diff --git a/databases/py-sqlframe/pkg-descr b/databases/py-sqlframe/pkg-descr
new file mode 100644
index 000000000000..d9989fffe06c
--- /dev/null
+++ b/databases/py-sqlframe/pkg-descr
@@ -0,0 +1,3 @@
+SQLFrame implements the PySpark DataFrame API in order to enable running
+transformation pipelines directly on database engines - no Spark clusters or
+dependencies required.