This is a Python library that binds to Apache Arrow in-memory query engine DataFusion. DataFusion's Python bindings can be used as a foundation for building new data systems in Python. Here are some examples: - Dask SQL uses DataFusion's Python bindings for SQL parsing, query planning, and logical plan optimizations, and then transpiles the logical plan to Dask operations for execution. - DataFusion Ballista is a distributed SQL query engine that extends DataFusion's Python bindings for distributed use cases. - DataFusion Ray is another distributed query engine that uses DataFusion's Python bindings.
33 lines
871 B
Makefile
33 lines
871 B
Makefile
PORTNAME= datafusion
|
|
PORTVERSION= 48.0.0
|
|
CATEGORIES= databases python
|
|
MASTER_SITES= PYPI
|
|
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
|
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
|
|
|
|
MAINTAINER= sunpoet@FreeBSD.org
|
|
COMMENT= Build and run queries against data
|
|
WWW= https://datafusion.apache.org/python/ \
|
|
https://github.com/apache/datafusion-python
|
|
|
|
LICENSE= APACHE20
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
|
|
|
|
BUILD_DEPENDS= protoc:devel/protobuf \
|
|
${PYTHON_PKGNAMEPREFIX}maturin>=1.8.1:devel/py-maturin@${PY_FLAVOR}
|
|
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyarrow>=11.0.0:databases/py-pyarrow@${PY_FLAVOR}
|
|
|
|
USES= cargo python
|
|
USE_PYTHON= autoplist concurrent pep517
|
|
|
|
CARGO_BUILD= no
|
|
CARGO_INSTALL= no
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${PYTHON_REL} < 31300
|
|
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|