git: fba7925ed0b4 - main - www/py-dash: Add py-dash 2.18.2

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Thu, 21 Nov 2024 13:40:55 UTC
The branch main has been updated by sunpoet:

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

commit fba7925ed0b4e57f140a6ee28e0ae81dfde5b138
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2024-11-21 13:18:13 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2024-11-21 13:37:52 +0000

    www/py-dash: Add py-dash 2.18.2
    
    Dash is the most downloaded, trusted Python framework for building ML & data
    science web apps.
    
    Built on top of Plotly.js, React and Flask, Dash ties modern UI elements like
    dropdowns, sliders, and graphs directly to your analytical Python code.
---
 www/Makefile                                     |  1 +
 www/py-dash/Makefile                             | 33 ++++++++++++++++++++++++
 www/py-dash/distinfo                             |  3 +++
 www/py-dash/files/patch-requirements-install.txt | 13 ++++++++++
 www/py-dash/pkg-descr                            |  5 ++++
 5 files changed, 55 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index a032fe23d8c5..7f7e4154a7a0 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1497,6 +1497,7 @@
     SUBDIR += py-cssselect
     SUBDIR += py-cssutils
     SUBDIR += py-daphne
+    SUBDIR += py-dash
     SUBDIR += py-dj-database-url
     SUBDIR += py-dj50-django-auth-ldap
     SUBDIR += py-dj50-django-choices-field
diff --git a/www/py-dash/Makefile b/www/py-dash/Makefile
new file mode 100644
index 000000000000..46230bdd381c
--- /dev/null
+++ b/www/py-dash/Makefile
@@ -0,0 +1,33 @@
+PORTNAME=	dash
+PORTVERSION=	2.18.2
+CATEGORIES=	www python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Python framework for building reactive web-apps
+WWW=		https://plotly.com/dash/ \
+		https://dash.plotly.com/ \
+		https://github.com/plotly/dash
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}flask>=1.0.4<3.1:www/py-flask@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}importlib-metadata>=0:devel/py-importlib-metadata@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}nest-asyncio>=0:devel/py-nest-asyncio@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}plotly>=5.0.0:graphics/py-plotly@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}retrying>=0:devel/py-retrying@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.1.1:devel/py-typing-extensions@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}werkzeug>=0:www/py-werkzeug@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dash/distinfo b/www/py-dash/distinfo
new file mode 100644
index 000000000000..a62536af5ad8
--- /dev/null
+++ b/www/py-dash/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1731679138
+SHA256 (dash-2.18.2.tar.gz) = 20e8404f73d0fe88ce2eae33c25bbc513cbe52f30d23a401fa5f24dbb44296c8
+SIZE (dash-2.18.2.tar.gz) = 7457235
diff --git a/www/py-dash/files/patch-requirements-install.txt b/www/py-dash/files/patch-requirements-install.txt
new file mode 100644
index 000000000000..9132603d8fd0
--- /dev/null
+++ b/www/py-dash/files/patch-requirements-install.txt
@@ -0,0 +1,13 @@
+--- requirements/install.txt.orig	2024-09-09 21:47:15 UTC
++++ requirements/install.txt
+@@ -1,9 +1,6 @@ Flask>=1.0.4,<3.1
+ Flask>=1.0.4,<3.1
+-Werkzeug<3.1
++Werkzeug
+ plotly>=5.0.0
+-dash_html_components==2.0.0
+-dash_core_components==2.0.0
+-dash_table==5.0.0
+ importlib-metadata
+ typing_extensions>=4.1.1
+ requests
diff --git a/www/py-dash/pkg-descr b/www/py-dash/pkg-descr
new file mode 100644
index 000000000000..7cafe0091b61
--- /dev/null
+++ b/www/py-dash/pkg-descr
@@ -0,0 +1,5 @@
+Dash is the most downloaded, trusted Python framework for building ML & data
+science web apps.
+
+Built on top of Plotly.js, React and Flask, Dash ties modern UI elements like
+dropdowns, sliders, and graphs directly to your analytical Python code.