You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by gi...@apache.org on 2023/09/12 16:39:28 UTC

[datasketches-python] branch gh-pages updated: deploy: 893d83c8e50a8bd8a5e0a64eae27c458804a106d

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/datasketches-python.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new 82e6b1b  deploy: 893d83c8e50a8bd8a5e0a64eae27c458804a106d
82e6b1b is described below

commit 82e6b1b206837e7c08cc07b5c61d5cc906aed67f
Author: c-dickens <c-...@users.noreply.github.com>
AuthorDate: Tue Sep 12 16:39:22 2023 +0000

    deploy: 893d83c8e50a8bd8a5e0a64eae27c458804a106d
---
 docs/main/_sources/density_sketch.rst.txt |   8 +
 docs/main/_sources/index.rst.txt          |   8 +
 docs/main/_sources/tuple.rst.txt          |  15 ++
 docs/main/count_min_sketch.html           |   8 +-
 docs/main/cpc.html                        |   4 +
 docs/main/density_sketch.html             | 226 +++++++++++++++++++++++++
 docs/main/frequent_items.html             |   4 +
 docs/main/genindex.html                   | 105 +++++++++++-
 docs/main/hyper_log_log.html              |   4 +
 docs/main/index.html                      |  13 ++
 docs/main/kll.html                        |   4 +
 docs/main/objects.inv                     | Bin 2886 -> 3207 bytes
 docs/main/quantiles_depr.html             |   4 +
 docs/main/req.html                        |   4 +
 docs/main/search.html                     |   4 +
 docs/main/searchindex.js                  |   2 +-
 docs/main/theta.html                      |   8 +-
 docs/main/tuple.html                      | 266 ++++++++++++++++++++++++++++++
 18 files changed, 678 insertions(+), 9 deletions(-)

diff --git a/docs/main/_sources/density_sketch.rst.txt b/docs/main/_sources/density_sketch.rst.txt
new file mode 100644
index 0000000..2aa0eb4
--- /dev/null
+++ b/docs/main/_sources/density_sketch.rst.txt
@@ -0,0 +1,8 @@
+Density Sketch
+--------------
+.. autoclass:: datasketches.density_sketch
+    :members:
+    :undoc-members:
+    
+.. autoclass:: datasketches.GaussianKernel
+    :members:
\ No newline at end of file
diff --git a/docs/main/_sources/index.rst.txt b/docs/main/_sources/index.rst.txt
index 9e3c47b..b6998c2 100644
--- a/docs/main/_sources/index.rst.txt
+++ b/docs/main/_sources/index.rst.txt
@@ -19,6 +19,14 @@ Counting Distincts
    hyper_log_log
    cpc
    theta 
+   tuple
+
+Density Sketch
+##############
+.. toctree::
+   :maxdepth: 1 
+
+   density_sketch
 
 Frequency Estimation
 ##########################
diff --git a/docs/main/_sources/tuple.rst.txt b/docs/main/_sources/tuple.rst.txt
new file mode 100644
index 0000000..2b5323c
--- /dev/null
+++ b/docs/main/_sources/tuple.rst.txt
@@ -0,0 +1,15 @@
+Tuple Sketch
+------------
+
+.. autoclass:: datasketches.tuple_sketch
+    :members:
+    :undoc-members:
+
+.. autoclass:: datasketches.AccumulatorPolicy        
+    :members:    
+
+.. autoclass:: datasketches.MaxIntPolicy        
+    :members:    
+
+.. autoclass:: datasketches.MinIntPolicy        
+    :members:    
\ No newline at end of file
diff --git a/docs/main/count_min_sketch.html b/docs/main/count_min_sketch.html
index 1543aa4..3e13c42 100644
--- a/docs/main/count_min_sketch.html
+++ b/docs/main/count_min_sketch.html
@@ -20,7 +20,7 @@
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="Frequent Items" href="frequent_items.html" />
-    <link rel="prev" title="Theta Sketch" href="theta.html" /> 
+    <link rel="prev" title="Density Sketch" href="density_sketch.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -46,6 +46,10 @@
 <li class="toctree-l1"><a class="reference internal" href="hyper_log_log.html">HyperLogLog (HLL)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
 </ul>
 <ul class="current">
 <li class="toctree-l1 current"><a class="current reference internal" href="#">CountMin Sketch</a><ul>
@@ -252,7 +256,7 @@
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="theta.html" class="btn btn-neutral float-left" title="Theta Sketch" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="density_sketch.html" class="btn btn-neutral float-left" title="Density Sketch" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="frequent_items.html" class="btn btn-neutral float-right" title="Frequent Items" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
diff --git a/docs/main/cpc.html b/docs/main/cpc.html
index 03bdf1f..96ffe8c 100644
--- a/docs/main/cpc.html
+++ b/docs/main/cpc.html
@@ -60,6 +60,10 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="count_min_sketch.html">CountMin Sketch</a></li>
diff --git a/docs/main/density_sketch.html b/docs/main/density_sketch.html
new file mode 100644
index 0000000..8b7d678
--- /dev/null
+++ b/docs/main/density_sketch.html
@@ -0,0 +1,226 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Density Sketch &mdash; datasketches 0.1 documentation</title>
+      <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+      <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
+  <!--[if lt IE 9]>
+    <script src="_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="_static/jquery.js?v=5d32c60e"></script>
+        <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="_static/documentation_options.js?v=2709fde1"></script>
+        <script src="_static/doctools.js?v=888ff710"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script src="_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="CountMin Sketch" href="count_min_sketch.html" />
+    <link rel="prev" title="Tuple Sketch" href="tuple.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="index.html" class="icon icon-home">
+            datasketches
+          </a>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="hyper_log_log.html">HyperLogLog (HLL)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+<ul class="current">
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Density Sketch</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#datasketches.density_sketch"><code class="docutils literal notranslate"><span class="pre">density_sketch</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.density_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">density_sketch.deserialize()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.density_sketch.get_dim"><code class="docutils literal notranslate"><span class="pre">density_sketch.get_dim()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.density_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">density_sketch.get_estimate()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.density_sketch.get_k"><code class="docutils literal notranslate"><span class="pre">density_sketch.get_k()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.density_sketch.get_n"><code class="docutils literal notranslate"><span class="pre">density_sketch.get_n()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.density_sketch.get_num_retained"><code class="docutils literal notranslate"><span class="pre">density_sketch.get_num_retained()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.density_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">density_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.density_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">density_sketch.is_estimation_mode()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.density_sketch.merge"><code class="docutils literal notranslate"><span class="pre">density_sketch.merge()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.density_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">density_sketch.serialize()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.density_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">density_sketch.to_string()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.density_sketch.update"><code class="docutils literal notranslate"><span class="pre">density_sketch.update()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="#datasketches.GaussianKernel"><code class="docutils literal notranslate"><span class="pre">GaussianKernel</span></code></a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="count_min_sketch.html">CountMin Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="frequent_items.html">Frequent Items</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="kll.html">KLL Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="req.html">Relative Error Quantiles (REQ) Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="quantiles_depr.html">Quantiles Sketch (Deprecated)</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="index.html">datasketches</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Density Sketch</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="_sources/density_sketch.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="density-sketch">
+<h1>Density Sketch<a class="headerlink" href="#density-sketch" title="Link to this heading"></a></h1>
+<dl class="py class">
+<dt class="sig sig-object py" id="datasketches.density_sketch">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">datasketches.</span></span><span class="sig-name descname"><span class="pre">density_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">k:</span> <span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dim:</span> <span class="pre">int</span></span></em>, [...]
+<dd><p>An instance of a Density Sketch for kernel density estimation. Requires a KernelFunction object.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.density_sketch.deserialize">
+<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">deserialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data:</span> <span class="pre">bytes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kernel:</span> <span class="pre">~_datasketches.KernelFunction</span> <span class="pre">=</span> <span class="pre">&lt;datasketche [...]
+<dd><p>Reads a bytes object and returns a density sketch, using the provided kerenl or defaulting to a Guassian kerenl</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.density_sketch.get_dim">
+<span class="sig-name descname"><span class="pre">get_dim</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.density_sketch.get_dim" title="Link to this definition"></a></dt>
+<dd><p>Returns the configured parameter dim</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.density_sketch.get_estimate">
+<span class="sig-name descname"><span class="pre">get_estimate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">point</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">array</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.density_sketch.get_estimate" title="Link to this definition"></a></dt>
+<dd><p>Returns an approximate density at the given point</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.density_sketch.get_k">
+<span class="sig-name descname"><span class="pre">get_k</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.density_sketch.get_k" title="Link to this definition"></a></dt>
+<dd><p>Returns the configured parameter k</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.density_sketch.get_n">
+<span class="sig-name descname"><span class="pre">get_n</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.density_sketch.get_n" title="Link to this definition"></a></dt>
+<dd><p>Returns the length of the input stream</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.density_sketch.get_num_retained">
+<span class="sig-name descname"><span class="pre">get_num_retained</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.density_sketch.get_num_retained" title="Link to this definition"></a></dt>
+<dd><p>Returns the number of retained items (samples) in the sketch</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.density_sketch.is_empty">
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.density_sketch.is_empty" title="Link to this definition"></a></dt>
+<dd><p>Returns True if the sketch is empty, otherwise False</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.density_sketch.is_estimation_mode">
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.density_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<dd><p>Returns True if the sketch is in estimation mode, otherwise False</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.density_sketch.merge">
+<span class="sig-name descname"><span class="pre">merge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.density_sketch" title="datasketches.DensityWrapper.density_sketch"><span class="pre">density_sketch</span></a></span></em><span class="sig-paren">)</span><a class="headerlink" h [...]
+<dd><p>Merges the provided sketch into this one</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.density_sketch.serialize">
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.density_sketch.serialize" title="Link to this definition"></a></dt>
+<dd><p>Serializes the sketch into a bytes object</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.density_sketch.to_string">
+<span class="sig-name descname"><span class="pre">to_string</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">print_levels</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class=" [...]
+<dd><p>Produces a string summary of the sketch</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.density_sketch.update">
+<span class="sig-name descname"><span class="pre">update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">point</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">array</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.density_sketch.update" title="Link to this definition"></a></dt>
+<dd><p>Updates the sketch with the given point</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="datasketches.GaussianKernel">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">datasketches.</span></span><span class="sig-name descname"><span class="pre">GaussianKernel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bandwidth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class= [...]
+<dd></dd></dl>
+
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="tuple.html" class="btn btn-neutral float-left" title="Tuple Sketch" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="count_min_sketch.html" class="btn btn-neutral float-right" title="CountMin Sketch" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2023.</p>
+  </div>
+
+  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    provided by <a href="https://readthedocs.org">Read the Docs</a>.
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/main/frequent_items.html b/docs/main/frequent_items.html
index 3e30eb5..73d6824 100644
--- a/docs/main/frequent_items.html
+++ b/docs/main/frequent_items.html
@@ -46,6 +46,10 @@
 <li class="toctree-l1"><a class="reference internal" href="hyper_log_log.html">HyperLogLog (HLL)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="count_min_sketch.html">CountMin Sketch</a></li>
diff --git a/docs/main/genindex.html b/docs/main/genindex.html
index 27207c5..033ed73 100644
--- a/docs/main/genindex.html
+++ b/docs/main/genindex.html
@@ -43,6 +43,10 @@
 <li class="toctree-l1"><a class="reference internal" href="hyper_log_log.html">HyperLogLog (HLL)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="count_min_sketch.html">CountMin Sketch</a></li>
@@ -83,7 +87,8 @@
 <h1 id="index">Index</h1>
 
 <div class="genindex-jumpbox">
- <a href="#C"><strong>C</strong></a>
+ <a href="#A"><strong>A</strong></a>
+ | <a href="#C"><strong>C</strong></a>
  | <a href="#D"><strong>D</strong></a>
  | <a href="#F"><strong>F</strong></a>
  | <a href="#G"><strong>G</strong></a>
@@ -100,21 +105,39 @@
  | <a href="#U"><strong>U</strong></a>
  
 </div>
+<h2 id="A">A</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="tuple.html#datasketches.AccumulatorPolicy">AccumulatorPolicy (class in datasketches)</a>
+</li>
+  </ul></td>
+</tr></table>
+
 <h2 id="C">C</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="count_min_sketch.html#datasketches.count_min_sketch">count_min_sketch (class in _datasketches)</a>
+</li>
+      <li><a href="cpc.html#datasketches.cpc_sketch">cpc_sketch (class in _datasketches)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="cpc.html#datasketches.cpc_sketch">cpc_sketch (class in _datasketches)</a>
+      <li><a href="tuple.html#datasketches.AccumulatorPolicy.create_summary">create_summary() (datasketches.AccumulatorPolicy method)</a>
+
+      <ul>
+        <li><a href="tuple.html#datasketches.MaxIntPolicy.create_summary">(datasketches.MaxIntPolicy method)</a>
 </li>
+        <li><a href="tuple.html#datasketches.MinIntPolicy.create_summary">(datasketches.MinIntPolicy method)</a>
+</li>
+      </ul></li>
   </ul></td>
 </tr></table>
 
 <h2 id="D">D</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="density_sketch.html#datasketches.density_sketch">density_sketch (class in datasketches)</a>
+</li>
       <li><a href="count_min_sketch.html#datasketches.count_min_sketch.deserialize">deserialize() (_datasketches.count_min_sketch static method)</a>
 
       <ul>
@@ -145,6 +168,8 @@
         <li><a href="req.html#datasketches.req_ints_sketch.deserialize">(_datasketches.req_ints_sketch static method)</a>
 </li>
         <li><a href="req.html#datasketches.req_items_sketch.deserialize">(_datasketches.req_items_sketch static method)</a>
+</li>
+        <li><a href="density_sketch.html#datasketches.density_sketch.deserialize">(datasketches.density_sketch class method)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -161,6 +186,8 @@
 <h2 id="G">G</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="density_sketch.html#datasketches.GaussianKernel">GaussianKernel (class in datasketches)</a>
+</li>
       <li><a href="frequent_items.html#datasketches.frequent_items_sketch.get_apriori_error">get_apriori_error() (_datasketches.frequent_items_sketch static method)</a>
 </li>
       <li><a href="kll.html#datasketches.kll_doubles_sketch.get_cdf">get_cdf() (_datasketches.kll_doubles_sketch method)</a>
@@ -188,6 +215,8 @@
 </li>
       </ul></li>
       <li><a href="hyper_log_log.html#datasketches.hll_sketch.get_compact_serialization_bytes">get_compact_serialization_bytes() (_datasketches.hll_sketch method)</a>
+</li>
+      <li><a href="density_sketch.html#datasketches.density_sketch.get_dim">get_dim() (datasketches.density_sketch method)</a>
 </li>
       <li><a href="frequent_items.html#datasketches.frequent_items_sketch.get_epsilon_for_lg_size">get_epsilon_for_lg_size() (_datasketches.frequent_items_sketch static method)</a>
 </li>
@@ -201,6 +230,10 @@
         <li><a href="hyper_log_log.html#datasketches.hll_sketch.get_estimate">(_datasketches.hll_sketch method)</a>
 </li>
         <li><a href="theta.html#datasketches.theta_sketch.get_estimate">(_datasketches.theta_sketch method)</a>
+</li>
+        <li><a href="density_sketch.html#datasketches.density_sketch.get_estimate">(datasketches.density_sketch method)</a>
+</li>
+        <li><a href="tuple.html#datasketches.tuple_sketch.get_estimate">(datasketches.tuple_sketch method)</a>
 </li>
       </ul></li>
       <li><a href="frequent_items.html#datasketches.frequent_items_sketch.get_frequent_items">get_frequent_items() (_datasketches.frequent_items_sketch method)</a>
@@ -227,6 +260,8 @@
         <li><a href="req.html#datasketches.req_ints_sketch.get_k">(_datasketches.req_ints_sketch method)</a>
 </li>
         <li><a href="req.html#datasketches.req_items_sketch.get_k">(_datasketches.req_items_sketch method)</a>
+</li>
+        <li><a href="density_sketch.html#datasketches.density_sketch.get_k">(datasketches.density_sketch method)</a>
 </li>
       </ul></li>
       <li><a href="cpc.html#datasketches.cpc_sketch.get_lg_k">get_lg_k() (_datasketches.cpc_sketch method)</a>
@@ -241,6 +276,8 @@
         <li><a href="hyper_log_log.html#datasketches.hll_sketch.get_lower_bound">(_datasketches.hll_sketch method)</a>
 </li>
         <li><a href="theta.html#datasketches.theta_sketch.get_lower_bound">(_datasketches.theta_sketch method)</a>
+</li>
+        <li><a href="tuple.html#datasketches.tuple_sketch.get_lower_bound">(datasketches.tuple_sketch method)</a>
 </li>
       </ul></li>
       <li><a href="hyper_log_log.html#datasketches.hll_sketch.get_max_updatable_serialization_bytes">get_max_updatable_serialization_bytes() (_datasketches.hll_sketch static method)</a>
@@ -315,6 +352,8 @@
         <li><a href="req.html#datasketches.req_ints_sketch.get_n">(_datasketches.req_ints_sketch method)</a>
 </li>
         <li><a href="req.html#datasketches.req_items_sketch.get_n">(_datasketches.req_items_sketch method)</a>
+</li>
+        <li><a href="density_sketch.html#datasketches.density_sketch.get_n">(datasketches.density_sketch method)</a>
 </li>
       </ul></li>
       <li><a href="kll.html#datasketches.kll_doubles_sketch.get_normalized_rank_error">get_normalized_rank_error() (_datasketches.kll_doubles_sketch static method)</a>
@@ -338,11 +377,11 @@
       <li><a href="frequent_items.html#datasketches.frequent_items_sketch.get_num_active_items">get_num_active_items() (_datasketches.frequent_items_sketch method)</a>
 </li>
       <li><a href="count_min_sketch.html#datasketches.count_min_sketch.get_num_buckets">get_num_buckets() (_datasketches.count_min_sketch method)</a>
-</li>
-      <li><a href="count_min_sketch.html#datasketches.count_min_sketch.get_num_hashes">get_num_hashes() (_datasketches.count_min_sketch method)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="count_min_sketch.html#datasketches.count_min_sketch.get_num_hashes">get_num_hashes() (_datasketches.count_min_sketch method)</a>
+</li>
       <li><a href="kll.html#datasketches.kll_doubles_sketch.get_num_retained">get_num_retained() (_datasketches.kll_doubles_sketch method)</a>
 
       <ul>
@@ -367,6 +406,10 @@
         <li><a href="req.html#datasketches.req_items_sketch.get_num_retained">(_datasketches.req_items_sketch method)</a>
 </li>
         <li><a href="theta.html#datasketches.theta_sketch.get_num_retained">(_datasketches.theta_sketch method)</a>
+</li>
+        <li><a href="density_sketch.html#datasketches.density_sketch.get_num_retained">(datasketches.density_sketch method)</a>
+</li>
+        <li><a href="tuple.html#datasketches.tuple_sketch.get_num_retained">(datasketches.tuple_sketch method)</a>
 </li>
       </ul></li>
       <li><a href="kll.html#datasketches.kll_doubles_sketch.get_pmf">get_pmf() (_datasketches.kll_doubles_sketch method)</a>
@@ -496,7 +539,11 @@
       <li><a href="count_min_sketch.html#datasketches.count_min_sketch.get_seed">get_seed() (_datasketches.count_min_sketch method)</a>
 </li>
       <li><a href="theta.html#datasketches.theta_sketch.get_seed_hash">get_seed_hash() (_datasketches.theta_sketch method)</a>
+
+      <ul>
+        <li><a href="tuple.html#datasketches.tuple_sketch.get_seed_hash">(datasketches.tuple_sketch method)</a>
 </li>
+      </ul></li>
       <li><a href="count_min_sketch.html#datasketches.count_min_sketch.get_serialized_size_bytes">get_serialized_size_bytes() (_datasketches.count_min_sketch method)</a>
 
       <ul>
@@ -506,9 +553,17 @@
       <li><a href="frequent_items.html#datasketches.frequent_items_sketch.get_sketch_epsilon">get_sketch_epsilon() (_datasketches.frequent_items_sketch method)</a>
 </li>
       <li><a href="theta.html#datasketches.theta_sketch.get_theta">get_theta() (_datasketches.theta_sketch method)</a>
+
+      <ul>
+        <li><a href="tuple.html#datasketches.tuple_sketch.get_theta">(datasketches.tuple_sketch method)</a>
 </li>
+      </ul></li>
       <li><a href="theta.html#datasketches.theta_sketch.get_theta64">get_theta64() (_datasketches.theta_sketch method)</a>
+
+      <ul>
+        <li><a href="tuple.html#datasketches.tuple_sketch.get_theta64">(datasketches.tuple_sketch method)</a>
 </li>
+      </ul></li>
       <li><a href="count_min_sketch.html#datasketches.count_min_sketch.get_total_weight">get_total_weight() (_datasketches.count_min_sketch method)</a>
 
       <ul>
@@ -527,6 +582,8 @@
         <li><a href="hyper_log_log.html#datasketches.hll_sketch.get_upper_bound">(_datasketches.hll_sketch method)</a>
 </li>
         <li><a href="theta.html#datasketches.theta_sketch.get_upper_bound">(_datasketches.theta_sketch method)</a>
+</li>
+        <li><a href="tuple.html#datasketches.tuple_sketch.get_upper_bound">(datasketches.tuple_sketch method)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -577,6 +634,10 @@
         <li><a href="req.html#datasketches.req_items_sketch.is_empty">(_datasketches.req_items_sketch method)</a>
 </li>
         <li><a href="theta.html#datasketches.theta_sketch.is_empty">(_datasketches.theta_sketch method)</a>
+</li>
+        <li><a href="density_sketch.html#datasketches.density_sketch.is_empty">(datasketches.density_sketch method)</a>
+</li>
+        <li><a href="tuple.html#datasketches.tuple_sketch.is_empty">(datasketches.tuple_sketch method)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -605,6 +666,10 @@
         <li><a href="req.html#datasketches.req_items_sketch.is_estimation_mode">(_datasketches.req_items_sketch method)</a>
 </li>
         <li><a href="theta.html#datasketches.theta_sketch.is_estimation_mode">(_datasketches.theta_sketch method)</a>
+</li>
+        <li><a href="density_sketch.html#datasketches.density_sketch.is_estimation_mode">(datasketches.density_sketch method)</a>
+</li>
+        <li><a href="tuple.html#datasketches.tuple_sketch.is_estimation_mode">(datasketches.tuple_sketch method)</a>
 </li>
       </ul></li>
       <li><a href="req.html#datasketches.req_floats_sketch.is_hra">is_hra() (_datasketches.req_floats_sketch method)</a>
@@ -616,7 +681,11 @@
 </li>
       </ul></li>
       <li><a href="theta.html#datasketches.theta_sketch.is_ordered">is_ordered() (_datasketches.theta_sketch method)</a>
+
+      <ul>
+        <li><a href="tuple.html#datasketches.tuple_sketch.is_ordered">(datasketches.tuple_sketch method)</a>
 </li>
+      </ul></li>
   </ul></td>
 </tr></table>
 
@@ -647,6 +716,8 @@
 <h2 id="M">M</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="tuple.html#datasketches.MaxIntPolicy">MaxIntPolicy (class in datasketches)</a>
+</li>
       <li><a href="count_min_sketch.html#datasketches.count_min_sketch.merge">merge() (_datasketches.count_min_sketch method)</a>
 
       <ul>
@@ -673,9 +744,15 @@
         <li><a href="req.html#datasketches.req_ints_sketch.merge">(_datasketches.req_ints_sketch method)</a>
 </li>
         <li><a href="req.html#datasketches.req_items_sketch.merge">(_datasketches.req_items_sketch method)</a>
+</li>
+        <li><a href="density_sketch.html#datasketches.density_sketch.merge">(datasketches.density_sketch method)</a>
 </li>
       </ul></li>
   </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="tuple.html#datasketches.MinIntPolicy">MinIntPolicy (class in datasketches)</a>
+</li>
+  </ul></td>
 </tr></table>
 
 <h2 id="N">N</h2>
@@ -765,6 +842,8 @@
         <li><a href="req.html#datasketches.req_ints_sketch.serialize">(_datasketches.req_ints_sketch method)</a>
 </li>
         <li><a href="req.html#datasketches.req_items_sketch.serialize">(_datasketches.req_items_sketch method)</a>
+</li>
+        <li><a href="density_sketch.html#datasketches.density_sketch.serialize">(datasketches.density_sketch method)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -819,9 +898,15 @@
         <li><a href="req.html#datasketches.req_items_sketch.to_string">(_datasketches.req_items_sketch method)</a>
 </li>
         <li><a href="theta.html#datasketches.theta_sketch.to_string">(_datasketches.theta_sketch method)</a>
+</li>
+        <li><a href="density_sketch.html#datasketches.density_sketch.to_string">(datasketches.density_sketch method)</a>
 </li>
       </ul></li>
   </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="tuple.html#datasketches.tuple_sketch">tuple_sketch (class in datasketches)</a>
+</li>
+  </ul></td>
 </tr></table>
 
 <h2 id="U">U</h2>
@@ -857,6 +942,18 @@
         <li><a href="req.html#datasketches.req_ints_sketch.update">(_datasketches.req_ints_sketch method)</a>
 </li>
         <li><a href="req.html#datasketches.req_items_sketch.update">(_datasketches.req_items_sketch method)</a>
+</li>
+        <li><a href="density_sketch.html#datasketches.density_sketch.update">(datasketches.density_sketch method)</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="tuple.html#datasketches.AccumulatorPolicy.update_summary">update_summary() (datasketches.AccumulatorPolicy method)</a>
+
+      <ul>
+        <li><a href="tuple.html#datasketches.MaxIntPolicy.update_summary">(datasketches.MaxIntPolicy method)</a>
+</li>
+        <li><a href="tuple.html#datasketches.MinIntPolicy.update_summary">(datasketches.MinIntPolicy method)</a>
 </li>
       </ul></li>
   </ul></td>
diff --git a/docs/main/hyper_log_log.html b/docs/main/hyper_log_log.html
index 7761f8f..d65457d 100644
--- a/docs/main/hyper_log_log.html
+++ b/docs/main/hyper_log_log.html
@@ -68,6 +68,10 @@
 </li>
 <li class="toctree-l1"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="count_min_sketch.html">CountMin Sketch</a></li>
diff --git a/docs/main/index.html b/docs/main/index.html
index 44033a3..9224935 100644
--- a/docs/main/index.html
+++ b/docs/main/index.html
@@ -45,6 +45,10 @@
 <li class="toctree-l1"><a class="reference internal" href="hyper_log_log.html">HyperLogLog (HLL)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="count_min_sketch.html">CountMin Sketch</a></li>
@@ -92,6 +96,15 @@
 <li class="toctree-l1"><a class="reference internal" href="hyper_log_log.html">HyperLogLog (HLL)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+</div>
+</section>
+<section id="density-sketch">
+<h2>Density Sketch<a class="headerlink" href="#density-sketch" title="Link to this heading"></a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
 </ul>
 </div>
 </section>
diff --git a/docs/main/kll.html b/docs/main/kll.html
index 6bcc38e..e31b297 100644
--- a/docs/main/kll.html
+++ b/docs/main/kll.html
@@ -46,6 +46,10 @@
 <li class="toctree-l1"><a class="reference internal" href="hyper_log_log.html">HyperLogLog (HLL)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="count_min_sketch.html">CountMin Sketch</a></li>
diff --git a/docs/main/objects.inv b/docs/main/objects.inv
index d2ba7b6..cbe14d5 100644
Binary files a/docs/main/objects.inv and b/docs/main/objects.inv differ
diff --git a/docs/main/quantiles_depr.html b/docs/main/quantiles_depr.html
index 849b051..489d046 100644
--- a/docs/main/quantiles_depr.html
+++ b/docs/main/quantiles_depr.html
@@ -45,6 +45,10 @@
 <li class="toctree-l1"><a class="reference internal" href="hyper_log_log.html">HyperLogLog (HLL)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="count_min_sketch.html">CountMin Sketch</a></li>
diff --git a/docs/main/req.html b/docs/main/req.html
index a7934dd..a13b955 100644
--- a/docs/main/req.html
+++ b/docs/main/req.html
@@ -46,6 +46,10 @@
 <li class="toctree-l1"><a class="reference internal" href="hyper_log_log.html">HyperLogLog (HLL)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="count_min_sketch.html">CountMin Sketch</a></li>
diff --git a/docs/main/search.html b/docs/main/search.html
index 89a9e12..66d795f 100644
--- a/docs/main/search.html
+++ b/docs/main/search.html
@@ -46,6 +46,10 @@
 <li class="toctree-l1"><a class="reference internal" href="hyper_log_log.html">HyperLogLog (HLL)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="count_min_sketch.html">CountMin Sketch</a></li>
diff --git a/docs/main/searchindex.js b/docs/main/searchindex.js
index e30a37b..d88e639 100644
--- a/docs/main/searchindex.js
+++ b/docs/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["count_min_sketch", "cpc", "frequent_items", "hyper_log_log", "index", "kll", "quantiles_depr", "req", "theta"], "filenames": ["count_min_sketch.rst", "cpc.rst", "frequent_items.rst", "hyper_log_log.rst", "index.rst", "kll.rst", "quantiles_depr.rst", "req.rst", "theta.rst"], "titles": ["CountMin Sketch", "Compressed Probabilistic Counting (CPC)", "Frequent Items", "HyperLogLog (HLL)", "Apache DataSketches", "KLL Sketch", "Quantiles Sketch (Deprecated)", "Rel [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["count_min_sketch", "cpc", "density_sketch", "frequent_items", "hyper_log_log", "index", "kll", "quantiles_depr", "req", "theta", "tuple"], "filenames": ["count_min_sketch.rst", "cpc.rst", "density_sketch.rst", "frequent_items.rst", "hyper_log_log.rst", "index.rst", "kll.rst", "quantiles_depr.rst", "req.rst", "theta.rst", "tuple.rst"], "titles": ["CountMin Sketch", "Compressed Probabilistic Counting (CPC)", "Density Sketch", "Frequent Items", "HyperLogLog (H [...]
\ No newline at end of file
diff --git a/docs/main/theta.html b/docs/main/theta.html
index d0b9cbb..c142c16 100644
--- a/docs/main/theta.html
+++ b/docs/main/theta.html
@@ -19,7 +19,7 @@
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
-    <link rel="next" title="CountMin Sketch" href="count_min_sketch.html" />
+    <link rel="next" title="Tuple Sketch" href="tuple.html" />
     <link rel="prev" title="Compressed Probabilistic Counting (CPC)" href="cpc.html" /> 
 </head>
 
@@ -62,6 +62,10 @@
 </li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="tuple.html">Tuple Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="count_min_sketch.html">CountMin Sketch</a></li>
@@ -181,7 +185,7 @@ It can also easily handle set operations (such as union, intersection, differenc
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="cpc.html" class="btn btn-neutral float-left" title="Compressed Probabilistic Counting (CPC)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="count_min_sketch.html" class="btn btn-neutral float-right" title="CountMin Sketch" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="tuple.html" class="btn btn-neutral float-right" title="Tuple Sketch" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/docs/main/tuple.html b/docs/main/tuple.html
new file mode 100644
index 0000000..183b0c6
--- /dev/null
+++ b/docs/main/tuple.html
@@ -0,0 +1,266 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Tuple Sketch &mdash; datasketches 0.1 documentation</title>
+      <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+      <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
+  <!--[if lt IE 9]>
+    <script src="_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="_static/jquery.js?v=5d32c60e"></script>
+        <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="_static/documentation_options.js?v=2709fde1"></script>
+        <script src="_static/doctools.js?v=888ff710"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script src="_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Density Sketch" href="density_sketch.html" />
+    <link rel="prev" title="Theta Sketch" href="theta.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="index.html" class="icon icon-home">
+            datasketches
+          </a>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="hyper_log_log.html">HyperLogLog (HLL)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="theta.html">Theta Sketch</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Tuple Sketch</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#datasketches.tuple_sketch"><code class="docutils literal notranslate"><span class="pre">tuple_sketch</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.get_estimate()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.get_lower_bound()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_sketch.get_num_retained"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.get_num_retained()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_sketch.get_seed_hash"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.get_seed_hash()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_sketch.get_theta"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.get_theta()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_sketch.get_theta64"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.get_theta64()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.get_upper_bound()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.is_estimation_mode()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_sketch.is_ordered"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.is_ordered()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="#datasketches.AccumulatorPolicy"><code class="docutils literal notranslate"><span class="pre">AccumulatorPolicy</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.AccumulatorPolicy.create_summary"><code class="docutils literal notranslate"><span class="pre">AccumulatorPolicy.create_summary()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.AccumulatorPolicy.update_summary"><code class="docutils literal notranslate"><span class="pre">AccumulatorPolicy.update_summary()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="#datasketches.MaxIntPolicy"><code class="docutils literal notranslate"><span class="pre">MaxIntPolicy</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.MaxIntPolicy.create_summary"><code class="docutils literal notranslate"><span class="pre">MaxIntPolicy.create_summary()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.MaxIntPolicy.update_summary"><code class="docutils literal notranslate"><span class="pre">MaxIntPolicy.update_summary()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="#datasketches.MinIntPolicy"><code class="docutils literal notranslate"><span class="pre">MinIntPolicy</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.MinIntPolicy.create_summary"><code class="docutils literal notranslate"><span class="pre">MinIntPolicy.create_summary()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#datasketches.MinIntPolicy.update_summary"><code class="docutils literal notranslate"><span class="pre">MinIntPolicy.update_summary()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="density_sketch.html">Density Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="count_min_sketch.html">CountMin Sketch</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="frequent_items.html">Frequent Items</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="kll.html">KLL Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="req.html">Relative Error Quantiles (REQ) Sketch</a></li>
+<li class="toctree-l1"><a class="reference internal" href="quantiles_depr.html">Quantiles Sketch (Deprecated)</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="index.html">datasketches</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Tuple Sketch</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="_sources/tuple.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="tuple-sketch">
+<h1>Tuple Sketch<a class="headerlink" href="#tuple-sketch" title="Link to this heading"></a></h1>
+<dl class="py class">
+<dt class="sig sig-object py" id="datasketches.tuple_sketch">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">datasketches.</span></span><span class="sig-name descname"><span class="pre">tuple_sketch</span></span><a class="headerlink" href="#datasketches.tuple_sketch" title="Link to this definition"></a></dt>
+<dd><p>An abstract base class representing a Tuple Sketch.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.tuple_sketch.get_estimate">
+<span class="sig-name descname"><span class="pre">get_estimate</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.tuple_sketch.get_estimate" title="Link to this definition"></a></dt>
+<dd><p>Returns an estimate of the distinct count of the input stream.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.tuple_sketch.get_lower_bound">
+<span class="sig-name descname"><span class="pre">get_lower_bound</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">num_std_devs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.tuple_sketch.get_lower_bound" title="Link to this definition"></a></dt>
+<dd><p>Returns an approximate lower bound on the estimate at standard deviations in {1, 2, 3}.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.tuple_sketch.get_num_retained">
+<span class="sig-name descname"><span class="pre">get_num_retained</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.tuple_sketch.get_num_retained" title="Link to this definition"></a></dt>
+<dd><p>Returns the number of items currently in the sketch.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.tuple_sketch.get_seed_hash">
+<span class="sig-name descname"><span class="pre">get_seed_hash</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.tuple_sketch.get_seed_hash" title="Link to this definition"></a></dt>
+<dd><p>Returns a hash of the seed used in the sketch.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.tuple_sketch.get_theta">
+<span class="sig-name descname"><span class="pre">get_theta</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.tuple_sketch.get_theta" title="Link to this definition"></a></dt>
+<dd><p>Returns theta (the effective sampling rate) as a fraction from 0 to 1.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.tuple_sketch.get_theta64">
+<span class="sig-name descname"><span class="pre">get_theta64</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.tuple_sketch.get_theta64" title="Link to this definition"></a></dt>
+<dd><p>Returns theta as a 64-bit integer value.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.tuple_sketch.get_upper_bound">
+<span class="sig-name descname"><span class="pre">get_upper_bound</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">num_std_devs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.tuple_sketch.get_upper_bound" title="Link to this definition"></a></dt>
+<dd><p>Returns an approximate upper bound on the estimate at standard deviations in {1, 2, 3}.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.tuple_sketch.is_empty">
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.tuple_sketch.is_empty" title="Link to this definition"></a></dt>
+<dd><p>Returns True if the sketch is empty, otherwise False.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.tuple_sketch.is_estimation_mode">
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.tuple_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<dd><p>Returns True if the sketch is in estimation mode, otherwise False.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.tuple_sketch.is_ordered">
+<span class="sig-name descname"><span class="pre">is_ordered</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.tuple_sketch.is_ordered" title="Link to this definition"></a></dt>
+<dd><p>Returns True if the sketch entries are sorder, otherwise False.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="datasketches.AccumulatorPolicy">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">datasketches.</span></span><span class="sig-name descname"><span class="pre">AccumulatorPolicy</span></span><a class="headerlink" href="#datasketches.AccumulatorPolicy" title="Link to this definition"></a></dt>
+<dd><dl class="py method">
+<dt class="sig sig-object py" id="datasketches.AccumulatorPolicy.create_summary">
+<span class="sig-name descname"><span class="pre">create_summary</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">_datasketches.TuplePolicy</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">o [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.AccumulatorPolicy.update_summary">
+<span class="sig-name descname"><span class="pre">update_summary</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">_datasketches.TuplePolicy</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">summary</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="datasketches.MaxIntPolicy">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">datasketches.</span></span><span class="sig-name descname"><span class="pre">MaxIntPolicy</span></span><a class="headerlink" href="#datasketches.MaxIntPolicy" title="Link to this definition"></a></dt>
+<dd><dl class="py method">
+<dt class="sig sig-object py" id="datasketches.MaxIntPolicy.create_summary">
+<span class="sig-name descname"><span class="pre">create_summary</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">_datasketches.TuplePolicy</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">o [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.MaxIntPolicy.update_summary">
+<span class="sig-name descname"><span class="pre">update_summary</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">_datasketches.TuplePolicy</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">summary</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="datasketches.MinIntPolicy">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">datasketches.</span></span><span class="sig-name descname"><span class="pre">MinIntPolicy</span></span><a class="headerlink" href="#datasketches.MinIntPolicy" title="Link to this definition"></a></dt>
+<dd><dl class="py method">
+<dt class="sig sig-object py" id="datasketches.MinIntPolicy.create_summary">
+<span class="sig-name descname"><span class="pre">create_summary</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">_datasketches.TuplePolicy</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">o [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.MinIntPolicy.update_summary">
+<span class="sig-name descname"><span class="pre">update_summary</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">_datasketches.TuplePolicy</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">summary</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="theta.html" class="btn btn-neutral float-left" title="Theta Sketch" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="density_sketch.html" class="btn btn-neutral float-right" title="Density Sketch" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2023.</p>
+  </div>
+
+  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    provided by <a href="https://readthedocs.org">Read the Docs</a>.
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org