git: 8172bd00a7ef - main - devel/py-ddsketch: Add py-ddsketch 2.0.2

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Fri, 13 May 2022 11:44:22 UTC
The branch main has been updated by sunpoet:

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

commit 8172bd00a7efe63c77eea0afcecb0232fa0d7a3a
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2022-05-13 11:27:19 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2022-05-13 11:39:10 +0000

    devel/py-ddsketch: Add py-ddsketch 2.0.2
    
    This is the Python implementation of the distributed quantile sketch algorithm
    DDSketch. DDSketch has relative-error guarantees for any quantile q in [0, 1].
    That is if the true value of the qth-quantile is x then DDSketch returns a value
    y such that |x-y| / x < e where e is the relative error parameter. (The default
    here is set to 0.01.) DDSketch is also fully mergeable, meaning that multiple
    sketches from distributed systems can be combined in a central node.
    
    Our default implementation, DDSketch, is guaranteed to not grow too large in
    size for any data that can be described by a distribution whose tails are
    sub-exponential.
    
    We also provide implementations (LogCollapsingLowestDenseDDSketch and
    LogCollapsingHighestDenseDDSketch) where the q-quantile will be accurate up to
    the specified relative error for q that is not too small (or large). Concretely,
    the q-quantile will be accurate up to the specified relative error as long as it
    belongs to one of the m bins kept by the sketch. If the data is time in seconds,
    the default of m = 2048 covers 80 microseconds to 1 year.
    
    WWW: https://github.com/DataDog/sketches-py
---
 devel/Makefile              |  1 +
 devel/py-ddsketch/Makefile  | 23 +++++++++++++++++++++++
 devel/py-ddsketch/distinfo  |  3 +++
 devel/py-ddsketch/pkg-descr | 19 +++++++++++++++++++
 4 files changed, 46 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 0ef5f85f32a3..42eb39e75526 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4455,6 +4455,7 @@
     SUBDIR += py-dateutils
     SUBDIR += py-datrie
     SUBDIR += py-dbus
+    SUBDIR += py-ddsketch
     SUBDIR += py-ddt
     SUBDIR += py-ddtrace
     SUBDIR += py-debtcollector
diff --git a/devel/py-ddsketch/Makefile b/devel/py-ddsketch/Makefile
new file mode 100644
index 000000000000..a8eb7d9e70e2
--- /dev/null
+++ b/devel/py-ddsketch/Makefile
@@ -0,0 +1,23 @@
+# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
+
+PORTNAME=	ddsketch
+PORTVERSION=	2.0.2
+CATEGORIES=	devel python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Distributed quantile sketches
+
+LICENSE=	APACHE20
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools_scm>=0:devel/py-setuptools_scm@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}protobuf>=3.0.0,1:devel/py-protobuf@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}six>=0:devel/py-six@${PY_FLAVOR}
+
+USES=		python:3.7+
+USE_PYTHON=	autoplist concurrent distutils
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-ddsketch/distinfo b/devel/py-ddsketch/distinfo
new file mode 100644
index 000000000000..1c0f6bd69899
--- /dev/null
+++ b/devel/py-ddsketch/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1652122529
+SHA256 (ddsketch-2.0.2.tar.gz) = 00c7f9d376c2abe8f9290d10cb3c712cd9effcdcd4477147553813ce54c97fee
+SIZE (ddsketch-2.0.2.tar.gz) = 28932
diff --git a/devel/py-ddsketch/pkg-descr b/devel/py-ddsketch/pkg-descr
new file mode 100644
index 000000000000..a3621b68d57c
--- /dev/null
+++ b/devel/py-ddsketch/pkg-descr
@@ -0,0 +1,19 @@
+This is the Python implementation of the distributed quantile sketch algorithm
+DDSketch. DDSketch has relative-error guarantees for any quantile q in [0, 1].
+That is if the true value of the qth-quantile is x then DDSketch returns a value
+y such that |x-y| / x < e where e is the relative error parameter. (The default
+here is set to 0.01.) DDSketch is also fully mergeable, meaning that multiple
+sketches from distributed systems can be combined in a central node.
+
+Our default implementation, DDSketch, is guaranteed to not grow too large in
+size for any data that can be described by a distribution whose tails are
+sub-exponential.
+
+We also provide implementations (LogCollapsingLowestDenseDDSketch and
+LogCollapsingHighestDenseDDSketch) where the q-quantile will be accurate up to
+the specified relative error for q that is not too small (or large). Concretely,
+the q-quantile will be accurate up to the specified relative error as long as it
+belongs to one of the m bins kept by the sketch. If the data is time in seconds,
+the default of m = 2048 covers 80 microseconds to 1 year.
+
+WWW: https://github.com/DataDog/sketches-py