aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2022-10-09 22:22:46 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2022-10-09 22:38:02 +0000
commitd3903fc482a1c207e4089ca98d3b3c1070524c1a (patch)
tree5b62dcae09481e94ad05acfcc4501512bc0ff37a
parentc95fb25b5c5160294d934521384debbbc8652f7a (diff)
downloadports-d3903fc482a1c207e4089ca98d3b3c1070524c1a.tar.gz
ports-d3903fc482a1c207e4089ca98d3b3c1070524c1a.zip
misc/py-apache-beam: New port: Apache Beam SDK for Python
-rw-r--r--misc/Makefile1
-rw-r--r--misc/py-apache-beam/Makefile55
-rw-r--r--misc/py-apache-beam/distinfo3
-rw-r--r--misc/py-apache-beam/pkg-descr17
4 files changed, 76 insertions, 0 deletions
diff --git a/misc/Makefile b/misc/Makefile
index 4654406d5d30..727d806a6a1e 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -375,6 +375,7 @@
SUBDIR += py-SimpleSoapy
SUBDIR += py-SoapySDR
SUBDIR += py-alive-progress
+ SUBDIR += py-apache-beam
SUBDIR += py-boost-histogram
SUBDIR += py-cinder
SUBDIR += py-colorbrewer
diff --git a/misc/py-apache-beam/Makefile b/misc/py-apache-beam/Makefile
new file mode 100644
index 000000000000..ced61edb4664
--- /dev/null
+++ b/misc/py-apache-beam/Makefile
@@ -0,0 +1,55 @@
+PORTNAME= apache-beam
+DISTVERSION= 2.41.0
+CATEGORIES= misc
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Apache Beam SDK for Python
+WWW= https://beam.apache.org/
+
+LICENSE= APACHE20
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cloudpickle>=2.1.0:devel/py-cloudpickle@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}crcmod>=1.7:devel/py-crcmod@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dateutil>=2.8.0:devel/py-dateutil@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dill>=0.3.1.1:devel/py-dill@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}fastavro>0:textproc/py-fastavro@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}grpcio>=1.33.1>0:devel/py-grpcio@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}hdfs>=2.1.0:www/py-hdfs@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}httplib2>=0.8:www/py-httplib2@${PY_FLAVOR} \
+ ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}orjson<4.0:devel/py-orjson@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}proto-plus>=1.7.1:devel/py-proto-plus@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}protobuf>=3.12.2:devel/py-protobuf@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydot>=1.2.0:graphics/py-pydot@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pymongo>=3.8.0:databases/py-pymongo@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytz>=2018.3:devel/py-pytz@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>=2.24.0:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=3.7.0:devel/py-typing-extensions@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cryptography>=36.0.0:security/py-cryptography@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}freezegun>=0.3.12:devel/py-freezegun@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}joblib>=0.3.12:devel/py-joblib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mock>=1.0.1:devel/py-mock@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pandas>0:math/py-pandas@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}parameterized>=0.7.1:devel/py-parameterized@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}psycopg2>=2.8.5:databases/py-psycopg2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}PyHamcrest>=1.9:textproc/py-pyhamcrest@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-timeout>=1.3.3:devel/py-pytest-timeout@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-xdist>=1.29.0:devel/py-pytest-xdist@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests-mock>=1.7:www/py-requests-mock@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tenacity>=5.0.2:devel/py-tenacity@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scikit-learn>=0.20.0:science/py-scikit-learn@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlalchemy14>=1.3:databases/py-sqlalchemy14@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}yaml>=3.12:devel/py-yaml@${PY_FLAVOR}
+ # testcontainers[mysql]>=3.0.3 is also required
+
+USES= python:3.6+ zip
+USE_PYTHON= distutils cython concurrent autoplist pytest # 5 tests fail, depending on pyarrow, MySqlContainer, threadpoolctl
+
+post-install:
+ # strip binaries
+ @${FIND} ${STAGEDIR}${PREFIX} -name "*${PYTHON_EXT_SUFFIX}.so" | ${XARGS} ${STRIP_CMD}
+
+.include <bsd.port.mk>
diff --git a/misc/py-apache-beam/distinfo b/misc/py-apache-beam/distinfo
new file mode 100644
index 000000000000..933a53385135
--- /dev/null
+++ b/misc/py-apache-beam/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1665344114
+SHA256 (apache-beam-2.41.0.zip) = c1a0456a5b48c3481bf20dc904e4d812515144336873b322f17ba188e2fabd92
+SIZE (apache-beam-2.41.0.zip) = 2860736
diff --git a/misc/py-apache-beam/pkg-descr b/misc/py-apache-beam/pkg-descr
new file mode 100644
index 000000000000..c419e98626ec
--- /dev/null
+++ b/misc/py-apache-beam/pkg-descr
@@ -0,0 +1,17 @@
+Apache Beam is a unified programming model for Batch and Streaming data
+processing.
+
+Beam provides a general approach to expressing embarrassingly parallel data
+processing pipelines and supports three categories of users, each of which have
+relatively disparate backgrounds and needs.
+
+* End Users: Writing pipelines with an existing SDK, running it on an existing
+ runner. These users want to focus on writing their application logic and have
+ everything else just work.
+* SDK Writers: Developing a Beam SDK targeted at a specific user community
+ (Java, Python, Scala, Go, R, graphical, etc). These users are language geeks
+ and would prefer to be shielded from all the details of various runners and
+ their implementations.
+* Runner Writers: Have an execution environment for distributed processing and
+ would like to support programs written against the Beam Model. Would prefer to
+ be shielded from details of multiple SDKs.