git: 3b79ed749ee2 - main - www/py-streamlit: new port - turn data scripts into shareable web apps

From: Dave Cottlehuber <dch_at_FreeBSD.org>
Date: Wed, 22 May 2024 13:57:30 UTC
The branch main has been updated by dch:

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

commit 3b79ed749ee2a749ddd040d5e1875ab34253dd4e
Author:     Dave Cottlehuber <dch@FreeBSD.org>
AuthorDate: 2024-05-22 13:57:17 +0000
Commit:     Dave Cottlehuber <dch@FreeBSD.org>
CommitDate: 2024-05-22 13:57:17 +0000

    www/py-streamlit: new port - turn data scripts into shareable web apps
---
 misc/Makefile              |  1 +
 www/Makefile               |  1 +
 www/py-streamlit/Makefile  | 36 ++++++++++++++++++++++++++++++++++++
 www/py-streamlit/distinfo  |  3 +++
 www/py-streamlit/pkg-descr | 17 +++++++++++++++++
 5 files changed, 58 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index 8d8b696dee82..746c8d91b560 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -501,6 +501,7 @@
     SUBDIR += py-spdx-lookup
     SUBDIR += py-spdx-tools
     SUBDIR += py-spinners
+    SUBDIR += py-streamlit
     SUBDIR += py-synced-collections
     SUBDIR += py-tes
     SUBDIR += py-tflearn
diff --git a/www/Makefile b/www/Makefile
index 2fb285c57633..879ad489f782 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1845,6 +1845,7 @@
     SUBDIR += py-sseclient
     SUBDIR += py-starlette
     SUBDIR += py-strawberry-graphql-django
+    SUBDIR += py-streamlit
     SUBDIR += py-swapper
     SUBDIR += py-textile
     SUBDIR += py-ticketutil
diff --git a/www/py-streamlit/Makefile b/www/py-streamlit/Makefile
new file mode 100644
index 000000000000..6ae167025016
--- /dev/null
+++ b/www/py-streamlit/Makefile
@@ -0,0 +1,36 @@
+PORTNAME=	streamlit
+DISTVERSION=	1.34.0
+CATEGORIES=	www python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	dch@FreeBSD.org
+COMMENT=	Turn data scripts into shareable web apps in minutes, in pure python
+WWW=		https://streamlit.io/
+
+LICENSE=	APACHE20
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}altair>0:graphics/py-altair@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}click>0:devel/py-click@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pandas>0:math/py-pandas@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}protobuf>=4.21.6,1:devel/py-protobuf@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyarrow>0:databases/py-pyarrow@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}rich>=0:textproc/py-rich@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tenacity>0:devel/py-tenacity@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}toml>=0:textproc/py-toml@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tornado>0:www/py-tornado@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}watchdog>0:devel/py-watchdog@${PY_FLAVOR}
+
+USES=		python shebangfix
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/www/py-streamlit/distinfo b/www/py-streamlit/distinfo
new file mode 100644
index 000000000000..8b411c28a846
--- /dev/null
+++ b/www/py-streamlit/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1716368381
+SHA256 (streamlit-1.34.0.tar.gz) = 135a3b79a686b3132b73f204450ad6e889de04f3349d692925e09f0e21e74b52
+SIZE (streamlit-1.34.0.tar.gz) = 8142532
diff --git a/www/py-streamlit/pkg-descr b/www/py-streamlit/pkg-descr
new file mode 100644
index 000000000000..fd85331396e9
--- /dev/null
+++ b/www/py-streamlit/pkg-descr
@@ -0,0 +1,17 @@
+Streamlit builds upon three simple principles:
+
+Embrace scripting:
+
+Build an app in a few lines of code with our magically simple API. Then
+see it automatically update as you iteratively save the source file.
+
+Weave in interaction:
+
+Adding a widget is the same as declaring a variable. No need to write a
+backend, define routes, handle HTTP requests, connect a frontend, write
+HTML, CSS, JavaScript.
+
+
+Deploy instantly:
+
+Effortlessly share, manage and deploy your apps, directly from Streamlit.