aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2024-09-05 05:14:11 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2024-09-05 06:11:20 +0000
commitb520fe44586012d234134d46101608318182fb0a (patch)
treec44f54c0d6fc7c55ff09e90b7b21c0d9e71d98ea
parent1bbf7597b2045c454183ab555b4d3db601fe21d7 (diff)
math/py-narwhals: Add py-narwhals 1.4.2
Narwhals is an extremely lightweight and extensible compatibility layer between dataframe libraries! - Full API support: cuDF, Modin, pandas, Polars, PyArrow - Interchange-level support: Ibis, Vaex, anything else which implements the DataFrame Interchange Protocol Seamlessly support all, without depending on any! - Just use a subset of the Polars API, no need to learn anything new - Zero dependencies, Narwhals only uses what the user passes in so your library can stay lightweight - Separate lazy and eager APIs, use expressions - Support pandas' complicated type system and index, without either getting in the way - 100% branch coverage, tested against pandas and Polars nightly builds - Negligible overhead, see overhead - Let your IDE help you thanks to full static typing, see typing - Perfect backwards compatibility policy, see stable api for how to opt-in
-rw-r--r--math/Makefile1
-rw-r--r--math/py-narwhals/Makefile22
-rw-r--r--math/py-narwhals/distinfo3
-rw-r--r--math/py-narwhals/pkg-descr17
4 files changed, 43 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile
index cbe5c15fbbf4..f5ba2137fd31 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -1000,6 +1000,7 @@
SUBDIR += py-moarchiving
SUBDIR += py-mpmath
SUBDIR += py-munkres
+ SUBDIR += py-narwhals
SUBDIR += py-ndindex
SUBDIR += py-networkx
SUBDIR += py-nevergrad
diff --git a/math/py-narwhals/Makefile b/math/py-narwhals/Makefile
new file mode 100644
index 000000000000..48b761cb6962
--- /dev/null
+++ b/math/py-narwhals/Makefile
@@ -0,0 +1,22 @@
+PORTNAME= narwhals
+PORTVERSION= 1.4.2
+CATEGORIES= math python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Extremely lightweight compatibility layer between dataframe libraries
+WWW= https://narwhals-dev.github.io/narwhals/ \
+ https://github.com/narwhals-dev/narwhals
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/math/py-narwhals/distinfo b/math/py-narwhals/distinfo
new file mode 100644
index 000000000000..5265f5780c3c
--- /dev/null
+++ b/math/py-narwhals/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1724084486
+SHA256 (narwhals-1.4.2.tar.gz) = b33348b1d187208227f404f1808713f434e401951b780a34719e4eade1fa5df5
+SIZE (narwhals-1.4.2.tar.gz) = 126634
diff --git a/math/py-narwhals/pkg-descr b/math/py-narwhals/pkg-descr
new file mode 100644
index 000000000000..d2adaa9362e7
--- /dev/null
+++ b/math/py-narwhals/pkg-descr
@@ -0,0 +1,17 @@
+Narwhals is an extremely lightweight and extensible compatibility layer between
+dataframe libraries!
+- Full API support: cuDF, Modin, pandas, Polars, PyArrow
+- Interchange-level support: Ibis, Vaex, anything else which implements the
+ DataFrame Interchange Protocol
+
+Seamlessly support all, without depending on any!
+- Just use a subset of the Polars API, no need to learn anything new
+- Zero dependencies, Narwhals only uses what the user passes in so your library
+ can stay lightweight
+- Separate lazy and eager APIs, use expressions
+- Support pandas' complicated type system and index, without either getting in
+ the way
+- 100% branch coverage, tested against pandas and Polars nightly builds
+- Negligible overhead, see overhead
+- Let your IDE help you thanks to full static typing, see typing
+- Perfect backwards compatibility policy, see stable api for how to opt-in