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 2026/08/09 18:43:35 UTC

(datasketches-python) branch gh-pages updated: deploy: f4924f3181c5e250f876423f66da34d30b443912

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

github-actions[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 916c609  deploy: f4924f3181c5e250f876423f66da34d30b443912
916c609 is described below

commit 916c609df54217a1e0abd34af96752392cf137d6
Author: leerho <le...@users.noreply.github.com>
AuthorDate: Sun Aug 9 18:43:29 2026 +0000

    deploy: f4924f3181c5e250f876423f66da34d30b443912
---
 docs/main/.buildinfo                           |    2 +-
 docs/main/_static/base-stemmer.js              |  476 +++++++++++
 docs/main/_static/basic.css                    |    8 -
 docs/main/_static/css/theme.css                |    2 +-
 docs/main/_static/doctools.js                  |   11 +-
 docs/main/_static/english-stemmer.js           | 1066 ++++++++++++++++++++++++
 docs/main/_static/language_data.js             |  193 +----
 docs/main/_static/searchtools.js               |  172 ++--
 docs/main/_static/sphinx_highlight.js          |   67 +-
 docs/main/distinct_counting/cpc.html           |   70 +-
 docs/main/distinct_counting/hyper_log_log.html |  148 ++--
 docs/main/distinct_counting/index.html         |    6 +-
 docs/main/distinct_counting/theta.html         |  142 ++--
 docs/main/distinct_counting/tuple.html         |  162 ++--
 docs/main/frequency/count_min_sketch.html      |   86 +-
 docs/main/frequency/frequent_items.html        |  206 ++---
 docs/main/frequency/index.html                 |    6 +-
 docs/main/genindex.html                        |  630 +++++++-------
 docs/main/helper/index.html                    |    6 +-
 docs/main/helper/jaccard.html                  |   10 +-
 docs/main/helper/kernel.html                   |   10 +-
 docs/main/helper/ks_test.html                  |    6 +-
 docs/main/helper/serde.html                    |   18 +-
 docs/main/helper/tuple_policy.html             |   14 +-
 docs/main/index.html                           |    6 +-
 docs/main/objects.inv                          |  Bin 4334 -> 4253 bytes
 docs/main/quantiles/index.html                 |    6 +-
 docs/main/quantiles/kll.html                   |  380 ++++-----
 docs/main/quantiles/quantiles_depr.html        |  380 ++++-----
 docs/main/quantiles/req.html                   |  322 +++----
 docs/main/quantiles/tdigest.html               |  186 +++--
 docs/main/sampling/ebpps.html                  |   50 +-
 docs/main/sampling/index.html                  |    6 +-
 docs/main/sampling/varopt.html                 |   88 +-
 docs/main/search.html                          |    6 +-
 docs/main/searchindex.js                       |    2 +-
 docs/main/vector/density_sketch.html           |   58 +-
 docs/main/vector/index.html                    |    6 +-
 38 files changed, 3241 insertions(+), 1772 deletions(-)

diff --git a/docs/main/.buildinfo b/docs/main/.buildinfo
index d6ebb96..e0c9ca3 100644
--- a/docs/main/.buildinfo
+++ b/docs/main/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 86d4b171ba47c51d1a3d7f924e02560f
+config: 84f977a1210cb9b07e4d40d87be69d37
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/main/_static/base-stemmer.js b/docs/main/_static/base-stemmer.js
new file mode 100644
index 0000000..e6fa0c4
--- /dev/null
+++ b/docs/main/_static/base-stemmer.js
@@ -0,0 +1,476 @@
+// @ts-check
+
+/**@constructor*/
+BaseStemmer = function() {
+    /** @protected */
+    this.current = '';
+    this.cursor = 0;
+    this.limit = 0;
+    this.limit_backward = 0;
+    this.bra = 0;
+    this.ket = 0;
+
+    /**
+     * @param {string} value
+     */
+    this.setCurrent = function(value) {
+        this.current = value;
+        this.cursor = 0;
+        this.limit = this.current.length;
+        this.limit_backward = 0;
+        this.bra = this.cursor;
+        this.ket = this.limit;
+    };
+
+    /**
+     * @return {string}
+     */
+    this.getCurrent = function() {
+        return this.current;
+    };
+
+    /**
+     * @param {BaseStemmer} other
+     */
+    this.copy_from = function(other) {
+        /** @protected */
+        this.current          = other.current;
+        this.cursor           = other.cursor;
+        this.limit            = other.limit;
+        this.limit_backward   = other.limit_backward;
+        this.bra              = other.bra;
+        this.ket              = other.ket;
+    };
+
+    /**
+     * @param {number[]} s
+     * @param {number} min
+     * @param {number} max
+     * @return {boolean}
+     */
+    this.in_grouping = function(s, min, max) {
+        /** @protected */
+        if (this.cursor >= this.limit) return false;
+        var ch = this.current.charCodeAt(this.cursor);
+        if (ch > max || ch < min) return false;
+        ch -= min;
+        if ((s[ch >>> 3] & (0x1 << (ch & 0x7))) == 0) return false;
+        this.cursor++;
+        return true;
+    };
+
+    /**
+     * @param {number[]} s
+     * @param {number} min
+     * @param {number} max
+     * @return {boolean}
+     */
+    this.go_in_grouping = function(s, min, max) {
+        /** @protected */
+        while (this.cursor < this.limit) {
+            var ch = this.current.charCodeAt(this.cursor);
+            if (ch > max || ch < min)
+                return true;
+            ch -= min;
+            if ((s[ch >>> 3] & (0x1 << (ch & 0x7))) == 0)
+                return true;
+            this.cursor++;
+        }
+        return false;
+    };
+
+    /**
+     * @param {number[]} s
+     * @param {number} min
+     * @param {number} max
+     * @return {boolean}
+     */
+    this.in_grouping_b = function(s, min, max) {
+        /** @protected */
+        if (this.cursor <= this.limit_backward) return false;
+        var ch = this.current.charCodeAt(this.cursor - 1);
+        if (ch > max || ch < min) return false;
+        ch -= min;
+        if ((s[ch >>> 3] & (0x1 << (ch & 0x7))) == 0) return false;
+        this.cursor--;
+        return true;
+    };
+
+    /**
+     * @param {number[]} s
+     * @param {number} min
+     * @param {number} max
+     * @return {boolean}
+     */
+    this.go_in_grouping_b = function(s, min, max) {
+        /** @protected */
+        while (this.cursor > this.limit_backward) {
+            var ch = this.current.charCodeAt(this.cursor - 1);
+            if (ch > max || ch < min) return true;
+            ch -= min;
+            if ((s[ch >>> 3] & (0x1 << (ch & 0x7))) == 0) return true;
+            this.cursor--;
+        }
+        return false;
+    };
+
+    /**
+     * @param {number[]} s
+     * @param {number} min
+     * @param {number} max
+     * @return {boolean}
+     */
+    this.out_grouping = function(s, min, max) {
+        /** @protected */
+        if (this.cursor >= this.limit) return false;
+        var ch = this.current.charCodeAt(this.cursor);
+        if (ch > max || ch < min) {
+            this.cursor++;
+            return true;
+        }
+        ch -= min;
+        if ((s[ch >>> 3] & (0X1 << (ch & 0x7))) == 0) {
+            this.cursor++;
+            return true;
+        }
+        return false;
+    };
+
+    /**
+     * @param {number[]} s
+     * @param {number} min
+     * @param {number} max
+     * @return {boolean}
+     */
+    this.go_out_grouping = function(s, min, max) {
+        /** @protected */
+        while (this.cursor < this.limit) {
+            var ch = this.current.charCodeAt(this.cursor);
+            if (ch <= max && ch >= min) {
+                ch -= min;
+                if ((s[ch >>> 3] & (0X1 << (ch & 0x7))) != 0) {
+                    return true;
+                }
+            }
+            this.cursor++;
+        }
+        return false;
+    };
+
+    /**
+     * @param {number[]} s
+     * @param {number} min
+     * @param {number} max
+     * @return {boolean}
+     */
+    this.out_grouping_b = function(s, min, max) {
+        /** @protected */
+        if (this.cursor <= this.limit_backward) return false;
+        var ch = this.current.charCodeAt(this.cursor - 1);
+        if (ch > max || ch < min) {
+            this.cursor--;
+            return true;
+        }
+        ch -= min;
+        if ((s[ch >>> 3] & (0x1 << (ch & 0x7))) == 0) {
+            this.cursor--;
+            return true;
+        }
+        return false;
+    };
+
+    /**
+     * @param {number[]} s
+     * @param {number} min
+     * @param {number} max
+     * @return {boolean}
+     */
+    this.go_out_grouping_b = function(s, min, max) {
+        /** @protected */
+        while (this.cursor > this.limit_backward) {
+            var ch = this.current.charCodeAt(this.cursor - 1);
+            if (ch <= max && ch >= min) {
+                ch -= min;
+                if ((s[ch >>> 3] & (0x1 << (ch & 0x7))) != 0) {
+                    return true;
+                }
+            }
+            this.cursor--;
+        }
+        return false;
+    };
+
+    /**
+     * @param {string} s
+     * @return {boolean}
+     */
+    this.eq_s = function(s)
+    {
+        /** @protected */
+        if (this.limit - this.cursor < s.length) return false;
+        if (this.current.slice(this.cursor, this.cursor + s.length) != s)
+        {
+            return false;
+        }
+        this.cursor += s.length;
+        return true;
+    };
+
+    /**
+     * @param {string} s
+     * @return {boolean}
+     */
+    this.eq_s_b = function(s)
+    {
+        /** @protected */
+        if (this.cursor - this.limit_backward < s.length) return false;
+        if (this.current.slice(this.cursor - s.length, this.cursor) != s)
+        {
+            return false;
+        }
+        this.cursor -= s.length;
+        return true;
+    };
+
+    /**
+     * @param {Among[]} v
+     * @return {number}
+     */
+    this.find_among = function(v)
+    {
+        /** @protected */
+        var i = 0;
+        var j = v.length;
+
+        var c = this.cursor;
+        var l = this.limit;
+
+        var common_i = 0;
+        var common_j = 0;
+
+        var first_key_inspected = false;
+
+        while (true)
+        {
+            var k = i + ((j - i) >>> 1);
+            var diff = 0;
+            var common = common_i < common_j ? common_i : common_j; // smaller
+            // w[0]: string, w[1]: substring_i, w[2]: result, w[3]: function (optional)
+            var w = v[k];
+            var i2;
+            for (i2 = common; i2 < w[0].length; i2++)
+            {
+                if (c + common == l)
+                {
+                    diff = -1;
+                    break;
+                }
+                diff = this.current.charCodeAt(c + common) - w[0].charCodeAt(i2);
+                if (diff != 0) break;
+                common++;
+            }
+            if (diff < 0)
+            {
+                j = k;
+                common_j = common;
+            }
+            else
+            {
+                i = k;
+                common_i = common;
+            }
+            if (j - i <= 1)
+            {
+                if (i > 0) break; // v->s has been inspected
+                if (j == i) break; // only one item in v
+
+                // - but now we need to go round once more to get
+                // v->s inspected. This looks messy, but is actually
+                // the optimal approach.
+
+                if (first_key_inspected) break;
+                first_key_inspected = true;
+            }
+        }
+        do {
+            var w = v[i];
+            if (common_i >= w[0].length)
+            {
+                this.cursor = c + w[0].length;
+                if (w.length < 4) return w[2];
+                var res = w[3](this);
+                this.cursor = c + w[0].length;
+                if (res) return w[2];
+            }
+            i = w[1];
+        } while (i >= 0);
+        return 0;
+    };
+
+    // find_among_b is for backwards processing. Same comments apply
+    /**
+     * @param {Among[]} v
+     * @return {number}
+     */
+    this.find_among_b = function(v)
+    {
+        /** @protected */
+        var i = 0;
+        var j = v.length
+
+        var c = this.cursor;
+        var lb = this.limit_backward;
+
+        var common_i = 0;
+        var common_j = 0;
+
+        var first_key_inspected = false;
+
+        while (true)
+        {
+            var k = i + ((j - i) >> 1);
+            var diff = 0;
+            var common = common_i < common_j ? common_i : common_j;
+            var w = v[k];
+            var i2;
+            for (i2 = w[0].length - 1 - common; i2 >= 0; i2--)
+            {
+                if (c - common == lb)
+                {
+                    diff = -1;
+                    break;
+                }
+                diff = this.current.charCodeAt(c - 1 - common) - w[0].charCodeAt(i2);
+                if (diff != 0) break;
+                common++;
+            }
+            if (diff < 0)
+            {
+                j = k;
+                common_j = common;
+            }
+            else
+            {
+                i = k;
+                common_i = common;
+            }
+            if (j - i <= 1)
+            {
+                if (i > 0) break;
+                if (j == i) break;
+                if (first_key_inspected) break;
+                first_key_inspected = true;
+            }
+        }
+        do {
+            var w = v[i];
+            if (common_i >= w[0].length)
+            {
+                this.cursor = c - w[0].length;
+                if (w.length < 4) return w[2];
+                var res = w[3](this);
+                this.cursor = c - w[0].length;
+                if (res) return w[2];
+            }
+            i = w[1];
+        } while (i >= 0);
+        return 0;
+    };
+
+    /* to replace chars between c_bra and c_ket in this.current by the
+     * chars in s.
+     */
+    /**
+     * @param {number} c_bra
+     * @param {number} c_ket
+     * @param {string} s
+     * @return {number}
+     */
+    this.replace_s = function(c_bra, c_ket, s)
+    {
+        /** @protected */
+        var adjustment = s.length - (c_ket - c_bra);
+        this.current = this.current.slice(0, c_bra) + s + this.current.slice(c_ket);
+        this.limit += adjustment;
+        if (this.cursor >= c_ket) this.cursor += adjustment;
+        else if (this.cursor > c_bra) this.cursor = c_bra;
+        return adjustment;
+    };
+
+    /**
+     * @return {boolean}
+     */
+    this.slice_check = function()
+    {
+        /** @protected */
+        if (this.bra < 0 ||
+            this.bra > this.ket ||
+            this.ket > this.limit ||
+            this.limit > this.current.length)
+        {
+            return false;
+        }
+        return true;
+    };
+
+    /**
+     * @param {number} c_bra
+     * @return {boolean}
+     */
+    this.slice_from = function(s)
+    {
+        /** @protected */
+        var result = false;
+        if (this.slice_check())
+        {
+            this.replace_s(this.bra, this.ket, s);
+            result = true;
+        }
+        return result;
+    };
+
+    /**
+     * @return {boolean}
+     */
+    this.slice_del = function()
+    {
+        /** @protected */
+        return this.slice_from("");
+    };
+
+    /**
+     * @param {number} c_bra
+     * @param {number} c_ket
+     * @param {string} s
+     */
+    this.insert = function(c_bra, c_ket, s)
+    {
+        /** @protected */
+        var adjustment = this.replace_s(c_bra, c_ket, s);
+        if (c_bra <= this.bra) this.bra += adjustment;
+        if (c_bra <= this.ket) this.ket += adjustment;
+    };
+
+    /**
+     * @return {string}
+     */
+    this.slice_to = function()
+    {
+        /** @protected */
+        var result = '';
+        if (this.slice_check())
+        {
+            result = this.current.slice(this.bra, this.ket);
+        }
+        return result;
+    };
+
+    /**
+     * @return {string}
+     */
+    this.assign_to = function()
+    {
+        /** @protected */
+        return this.current.slice(0, this.limit);
+    };
+};
diff --git a/docs/main/_static/basic.css b/docs/main/_static/basic.css
index 7ebbd6d..4738b2e 100644
--- a/docs/main/_static/basic.css
+++ b/docs/main/_static/basic.css
@@ -741,14 +741,6 @@ abbr, acronym {
     cursor: help;
 }
 
-.translated {
-    background-color: rgba(207, 255, 207, 0.2)
-}
-
-.untranslated {
-    background-color: rgba(255, 207, 207, 0.2)
-}
-
 /* -- code displays --------------------------------------------------------- */
 
 pre {
diff --git a/docs/main/_static/css/theme.css b/docs/main/_static/css/theme.css
index 0f14f10..a88467c 100644
--- a/docs/main/_static/css/theme.css
+++ b/docs/main/_static/css/theme.css
@@ -1,4 +1,4 @@
 html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted [...]
  *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
  *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/ [...]
\ No newline at end of file
+ */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/ [...]
\ No newline at end of file
diff --git a/docs/main/_static/doctools.js b/docs/main/_static/doctools.js
index 0398ebb..807cdb1 100644
--- a/docs/main/_static/doctools.js
+++ b/docs/main/_static/doctools.js
@@ -59,7 +59,7 @@ const Documentation = {
     Object.assign(Documentation.TRANSLATIONS, catalog.messages);
     Documentation.PLURAL_EXPR = new Function(
       "n",
-      `return (${catalog.plural_expr})`
+      `return (${catalog.plural_expr})`,
     );
     Documentation.LOCALE = catalog.locale;
   },
@@ -89,7 +89,7 @@ const Documentation = {
 
     const togglerElements = document.querySelectorAll("img.toggler");
     togglerElements.forEach((el) =>
-      el.addEventListener("click", (event) => toggler(event.currentTarget))
+      el.addEventListener("click", (event) => toggler(event.currentTarget)),
     );
     togglerElements.forEach((el) => (el.style.display = ""));
     if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler);
@@ -98,14 +98,15 @@ const Documentation = {
   initOnKeyListeners: () => {
     // only install a listener if it is really needed
     if (
-      !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS &&
-      !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
+      !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS
+      && !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
     )
       return;
 
     document.addEventListener("keydown", (event) => {
       // bail for input elements
-      if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
+      if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName))
+        return;
       // bail with special keys
       if (event.altKey || event.ctrlKey || event.metaKey) return;
 
diff --git a/docs/main/_static/english-stemmer.js b/docs/main/_static/english-stemmer.js
new file mode 100644
index 0000000..056760e
--- /dev/null
+++ b/docs/main/_static/english-stemmer.js
@@ -0,0 +1,1066 @@
+// Generated from english.sbl by Snowball 3.0.1 - https://snowballstem.org/
+
+/**@constructor*/
+var EnglishStemmer = function() {
+    var base = new BaseStemmer();
+
+    /** @const */ var a_0 = [
+        ["arsen", -1, -1],
+        ["commun", -1, -1],
+        ["emerg", -1, -1],
+        ["gener", -1, -1],
+        ["later", -1, -1],
+        ["organ", -1, -1],
+        ["past", -1, -1],
+        ["univers", -1, -1]
+    ];
+
+    /** @const */ var a_1 = [
+        ["'", -1, 1],
+        ["'s'", 0, 1],
+        ["'s", -1, 1]
+    ];
+
+    /** @const */ var a_2 = [
+        ["ied", -1, 2],
+        ["s", -1, 3],
+        ["ies", 1, 2],
+        ["sses", 1, 1],
+        ["ss", 1, -1],
+        ["us", 1, -1]
+    ];
+
+    /** @const */ var a_3 = [
+        ["succ", -1, 1],
+        ["proc", -1, 1],
+        ["exc", -1, 1]
+    ];
+
+    /** @const */ var a_4 = [
+        ["even", -1, 2],
+        ["cann", -1, 2],
+        ["inn", -1, 2],
+        ["earr", -1, 2],
+        ["herr", -1, 2],
+        ["out", -1, 2],
+        ["y", -1, 1]
+    ];
+
+    /** @const */ var a_5 = [
+        ["", -1, -1],
+        ["ed", 0, 2],
+        ["eed", 1, 1],
+        ["ing", 0, 3],
+        ["edly", 0, 2],
+        ["eedly", 4, 1],
+        ["ingly", 0, 2]
+    ];
+
+    /** @const */ var a_6 = [
+        ["", -1, 3],
+        ["bb", 0, 2],
+        ["dd", 0, 2],
+        ["ff", 0, 2],
+        ["gg", 0, 2],
+        ["bl", 0, 1],
+        ["mm", 0, 2],
+        ["nn", 0, 2],
+        ["pp", 0, 2],
+        ["rr", 0, 2],
+        ["at", 0, 1],
+        ["tt", 0, 2],
+        ["iz", 0, 1]
+    ];
+
+    /** @const */ var a_7 = [
+        ["anci", -1, 3],
+        ["enci", -1, 2],
+        ["ogi", -1, 14],
+        ["li", -1, 16],
+        ["bli", 3, 12],
+        ["abli", 4, 4],
+        ["alli", 3, 8],
+        ["fulli", 3, 9],
+        ["lessli", 3, 15],
+        ["ousli", 3, 10],
+        ["entli", 3, 5],
+        ["aliti", -1, 8],
+        ["biliti", -1, 12],
+        ["iviti", -1, 11],
+        ["tional", -1, 1],
+        ["ational", 14, 7],
+        ["alism", -1, 8],
+        ["ation", -1, 7],
+        ["ization", 17, 6],
+        ["izer", -1, 6],
+        ["ator", -1, 7],
+        ["iveness", -1, 11],
+        ["fulness", -1, 9],
+        ["ousness", -1, 10],
+        ["ogist", -1, 13]
+    ];
+
+    /** @const */ var a_8 = [
+        ["icate", -1, 4],
+        ["ative", -1, 6],
+        ["alize", -1, 3],
+        ["iciti", -1, 4],
+        ["ical", -1, 4],
+        ["tional", -1, 1],
+        ["ational", 5, 2],
+        ["ful", -1, 5],
+        ["ness", -1, 5]
+    ];
+
+    /** @const */ var a_9 = [
+        ["ic", -1, 1],
+        ["ance", -1, 1],
+        ["ence", -1, 1],
+        ["able", -1, 1],
+        ["ible", -1, 1],
+        ["ate", -1, 1],
+        ["ive", -1, 1],
+        ["ize", -1, 1],
+        ["iti", -1, 1],
+        ["al", -1, 1],
+        ["ism", -1, 1],
+        ["ion", -1, 2],
+        ["er", -1, 1],
+        ["ous", -1, 1],
+        ["ant", -1, 1],
+        ["ent", -1, 1],
+        ["ment", 15, 1],
+        ["ement", 16, 1]
+    ];
+
+    /** @const */ var a_10 = [
+        ["e", -1, 1],
+        ["l", -1, 2]
+    ];
+
+    /** @const */ var a_11 = [
+        ["andes", -1, -1],
+        ["atlas", -1, -1],
+        ["bias", -1, -1],
+        ["cosmos", -1, -1],
+        ["early", -1, 5],
+        ["gently", -1, 3],
+        ["howe", -1, -1],
+        ["idly", -1, 2],
+        ["news", -1, -1],
+        ["only", -1, 6],
+        ["singly", -1, 7],
+        ["skies", -1, 1],
+        ["sky", -1, -1],
+        ["ugly", -1, 4]
+    ];
+
+    /** @const */ var /** Array<int> */ g_aeo = [17, 64];
+
+    /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 1];
+
+    /** @const */ var /** Array<int> */ g_v_WXY = [1, 17, 65, 208, 1];
+
+    /** @const */ var /** Array<int> */ g_valid_LI = [55, 141, 2];
+
+    var /** boolean */ B_Y_found = false;
+    var /** number */ I_p2 = 0;
+    var /** number */ I_p1 = 0;
+
+
+    /** @return {boolean} */
+    function r_prelude() {
+        B_Y_found = false;
+        /** @const */ var /** number */ v_1 = base.cursor;
+        lab0: {
+            base.bra = base.cursor;
+            if (!(base.eq_s("'")))
+            {
+                break lab0;
+            }
+            base.ket = base.cursor;
+            if (!base.slice_del())
+            {
+                return false;
+            }
+        }
+        base.cursor = v_1;
+        /** @const */ var /** number */ v_2 = base.cursor;
+        lab1: {
+            base.bra = base.cursor;
+            if (!(base.eq_s("y")))
+            {
+                break lab1;
+            }
+            base.ket = base.cursor;
+            if (!base.slice_from("Y"))
+            {
+                return false;
+            }
+            B_Y_found = true;
+        }
+        base.cursor = v_2;
+        /** @const */ var /** number */ v_3 = base.cursor;
+        lab2: {
+            while(true)
+            {
+                /** @const */ var /** number */ v_4 = base.cursor;
+                lab3: {
+                    golab4: while(true)
+                    {
+                        /** @const */ var /** number */ v_5 = base.cursor;
+                        lab5: {
+                            if (!(base.in_grouping(g_v, 97, 121)))
+                            {
+                                break lab5;
+                            }
+                            base.bra = base.cursor;
+                            if (!(base.eq_s("y")))
+                            {
+                                break lab5;
+                            }
+                            base.ket = base.cursor;
+                            base.cursor = v_5;
+                            break golab4;
+                        }
+                        base.cursor = v_5;
+                        if (base.cursor >= base.limit)
+                        {
+                            break lab3;
+                        }
+                        base.cursor++;
+                    }
+                    if (!base.slice_from("Y"))
+                    {
+                        return false;
+                    }
+                    B_Y_found = true;
+                    continue;
+                }
+                base.cursor = v_4;
+                break;
+            }
+        }
+        base.cursor = v_3;
+        return true;
+    };
+
+    /** @return {boolean} */
+    function r_mark_regions() {
+        I_p1 = base.limit;
+        I_p2 = base.limit;
+        /** @const */ var /** number */ v_1 = base.cursor;
+        lab0: {
+            lab1: {
+                /** @const */ var /** number */ v_2 = base.cursor;
+                lab2: {
+                    if (base.find_among(a_0) == 0)
+                    {
+                        break lab2;
+                    }
+                    break lab1;
+                }
+                base.cursor = v_2;
+                if (!base.go_out_grouping(g_v, 97, 121))
+                {
+                    break lab0;
+                }
+                base.cursor++;
+                if (!base.go_in_grouping(g_v, 97, 121))
+                {
+                    break lab0;
+                }
+                base.cursor++;
+            }
+            I_p1 = base.cursor;
+            if (!base.go_out_grouping(g_v, 97, 121))
+            {
+                break lab0;
+            }
+            base.cursor++;
+            if (!base.go_in_grouping(g_v, 97, 121))
+            {
+                break lab0;
+            }
+            base.cursor++;
+            I_p2 = base.cursor;
+        }
+        base.cursor = v_1;
+        return true;
+    };
+
+    /** @return {boolean} */
+    function r_shortv() {
+        lab0: {
+            /** @const */ var /** number */ v_1 = base.limit - base.cursor;
+            lab1: {
+                if (!(base.out_grouping_b(g_v_WXY, 89, 121)))
+                {
+                    break lab1;
+                }
+                if (!(base.in_grouping_b(g_v, 97, 121)))
+                {
+                    break lab1;
+                }
+                if (!(base.out_grouping_b(g_v, 97, 121)))
+                {
+                    break lab1;
+                }
+                break lab0;
+            }
+            base.cursor = base.limit - v_1;
+            lab2: {
+                if (!(base.out_grouping_b(g_v, 97, 121)))
+                {
+                    break lab2;
+                }
+                if (!(base.in_grouping_b(g_v, 97, 121)))
+                {
+                    break lab2;
+                }
+                if (base.cursor > base.limit_backward)
+                {
+                    break lab2;
+                }
+                break lab0;
+            }
+            base.cursor = base.limit - v_1;
+            if (!(base.eq_s_b("past")))
+            {
+                return false;
+            }
+        }
+        return true;
+    };
+
+    /** @return {boolean} */
+    function r_R1() {
+        return I_p1 <= base.cursor;
+    };
+
+    /** @return {boolean} */
+    function r_R2() {
+        return I_p2 <= base.cursor;
+    };
+
+    /** @return {boolean} */
+    function r_Step_1a() {
+        var /** number */ among_var;
+        /** @const */ var /** number */ v_1 = base.limit - base.cursor;
+        lab0: {
+            base.ket = base.cursor;
+            if (base.find_among_b(a_1) == 0)
+            {
+                base.cursor = base.limit - v_1;
+                break lab0;
+            }
+            base.bra = base.cursor;
+            if (!base.slice_del())
+            {
+                return false;
+            }
+        }
+        base.ket = base.cursor;
+        among_var = base.find_among_b(a_2);
+        if (among_var == 0)
+        {
+            return false;
+        }
+        base.bra = base.cursor;
+        switch (among_var) {
+            case 1:
+                if (!base.slice_from("ss"))
+                {
+                    return false;
+                }
+                break;
+            case 2:
+                lab1: {
+                    /** @const */ var /** number */ v_2 = base.limit - base.cursor;
+                    lab2: {
+                        {
+                            /** @const */ var /** number */ c1 = base.cursor - 2;
+                            if (c1 < base.limit_backward)
+                            {
+                                break lab2;
+                            }
+                            base.cursor = c1;
+                        }
+                        if (!base.slice_from("i"))
+                        {
+                            return false;
+                        }
+                        break lab1;
+                    }
+                    base.cursor = base.limit - v_2;
+                    if (!base.slice_from("ie"))
+                    {
+                        return false;
+                    }
+                }
+                break;
+            case 3:
+                if (base.cursor <= base.limit_backward)
+                {
+                    return false;
+                }
+                base.cursor--;
+                if (!base.go_out_grouping_b(g_v, 97, 121))
+                {
+                    return false;
+                }
+                base.cursor--;
+                if (!base.slice_del())
+                {
+                    return false;
+                }
+                break;
+        }
+        return true;
+    };
+
+    /** @return {boolean} */
+    function r_Step_1b() {
+        var /** number */ among_var;
+        base.ket = base.cursor;
+        among_var = base.find_among_b(a_5);
+        base.bra = base.cursor;
+        lab0: {
+            /** @const */ var /** number */ v_1 = base.limit - base.cursor;
+            lab1: {
+                switch (among_var) {
+                    case 1:
+                        /** @const */ var /** number */ v_2 = base.limit - base.cursor;
+                        lab2: {
+                            lab3: {
+                                /** @const */ var /** number */ v_3 = base.limit - base.cursor;
+                                lab4: {
+                                    if (base.find_among_b(a_3) == 0)
+                                    {
+                                        break lab4;
+                                    }
+                                    if (base.cursor > base.limit_backward)
+                                    {
+                                        break lab4;
+                                    }
+                                    break lab3;
+                                }
+                                base.cursor = base.limit - v_3;
+                                if (!r_R1())
+                                {
+                                    break lab2;
+                                }
+                                if (!base.slice_from("ee"))
+                                {
+                                    return false;
+                                }
+                            }
+                        }
+                        base.cursor = base.limit - v_2;
+                        break;
+                    case 2:
+                        break lab1;
+                    case 3:
+                        among_var = base.find_among_b(a_4);
+                        if (among_var == 0)
+                        {
+                            break lab1;
+                        }
+                        switch (among_var) {
+                            case 1:
+                                /** @const */ var /** number */ v_4 = base.limit - base.cursor;
+                                if (!(base.out_grouping_b(g_v, 97, 121)))
+                                {
+                                    break lab1;
+                                }
+                                if (base.cursor > base.limit_backward)
+                                {
+                                    break lab1;
+                                }
+                                base.cursor = base.limit - v_4;
+                                base.bra = base.cursor;
+                                if (!base.slice_from("ie"))
+                                {
+                                    return false;
+                                }
+                                break;
+                            case 2:
+                                if (base.cursor > base.limit_backward)
+                                {
+                                    break lab1;
+                                }
+                                break;
+                        }
+                        break;
+                }
+                break lab0;
+            }
+            base.cursor = base.limit - v_1;
+            /** @const */ var /** number */ v_5 = base.limit - base.cursor;
+            if (!base.go_out_grouping_b(g_v, 97, 121))
+            {
+                return false;
+            }
+            base.cursor--;
+            base.cursor = base.limit - v_5;
+            if (!base.slice_del())
+            {
+                return false;
+            }
+            base.ket = base.cursor;
+            base.bra = base.cursor;
+            /** @const */ var /** number */ v_6 = base.limit - base.cursor;
+            among_var = base.find_among_b(a_6);
+            switch (among_var) {
+                case 1:
+                    if (!base.slice_from("e"))
+                    {
+                        return false;
+                    }
+                    return false;
+                case 2:
+                    {
+                        /** @const */ var /** number */ v_7 = base.limit - base.cursor;
+                        lab5: {
+                            if (!(base.in_grouping_b(g_aeo, 97, 111)))
+                            {
+                                break lab5;
+                            }
+                            if (base.cursor > base.limit_backward)
+                            {
+                                break lab5;
+                            }
+                            return false;
+                        }
+                        base.cursor = base.limit - v_7;
+                    }
+                    break;
+                case 3:
+                    if (base.cursor != I_p1)
+                    {
+                        return false;
+                    }
+                    /** @const */ var /** number */ v_8 = base.limit - base.cursor;
+                    if (!r_shortv())
+                    {
+                        return false;
+                    }
+                    base.cursor = base.limit - v_8;
+                    if (!base.slice_from("e"))
+                    {
+                        return false;
+                    }
+                    return false;
+            }
+            base.cursor = base.limit - v_6;
+            base.ket = base.cursor;
+            if (base.cursor <= base.limit_backward)
+            {
+                return false;
+            }
+            base.cursor--;
+            base.bra = base.cursor;
+            if (!base.slice_del())
+            {
+                return false;
+            }
+        }
+        return true;
+    };
+
+    /** @return {boolean} */
+    function r_Step_1c() {
+        base.ket = base.cursor;
+        lab0: {
+            /** @const */ var /** number */ v_1 = base.limit - base.cursor;
+            lab1: {
+                if (!(base.eq_s_b("y")))
+                {
+                    break lab1;
+                }
+                break lab0;
+            }
+            base.cursor = base.limit - v_1;
+            if (!(base.eq_s_b("Y")))
+            {
+                return false;
+            }
+        }
+        base.bra = base.cursor;
+        if (!(base.out_grouping_b(g_v, 97, 121)))
+        {
+            return false;
+        }
+        lab2: {
+            if (base.cursor > base.limit_backward)
+            {
+                break lab2;
+            }
+            return false;
+        }
+        if (!base.slice_from("i"))
+        {
+            return false;
+        }
+        return true;
+    };
+
+    /** @return {boolean} */
+    function r_Step_2() {
+        var /** number */ among_var;
+        base.ket = base.cursor;
+        among_var = base.find_among_b(a_7);
+        if (among_var == 0)
+        {
+            return false;
+        }
+        base.bra = base.cursor;
+        if (!r_R1())
+        {
+            return false;
+        }
+        switch (among_var) {
+            case 1:
+                if (!base.slice_from("tion"))
+                {
+                    return false;
+                }
+                break;
+            case 2:
+                if (!base.slice_from("ence"))
+                {
+                    return false;
+                }
+                break;
+            case 3:
+                if (!base.slice_from("ance"))
+                {
+                    return false;
+                }
+                break;
+            case 4:
+                if (!base.slice_from("able"))
+                {
+                    return false;
+                }
+                break;
+            case 5:
+                if (!base.slice_from("ent"))
+                {
+                    return false;
+                }
+                break;
+            case 6:
+                if (!base.slice_from("ize"))
+                {
+                    return false;
+                }
+                break;
+            case 7:
+                if (!base.slice_from("ate"))
+                {
+                    return false;
+                }
+                break;
+            case 8:
+                if (!base.slice_from("al"))
+                {
+                    return false;
+                }
+                break;
+            case 9:
+                if (!base.slice_from("ful"))
+                {
+                    return false;
+                }
+                break;
+            case 10:
+                if (!base.slice_from("ous"))
+                {
+                    return false;
+                }
+                break;
+            case 11:
+                if (!base.slice_from("ive"))
+                {
+                    return false;
+                }
+                break;
+            case 12:
+                if (!base.slice_from("ble"))
+                {
+                    return false;
+                }
+                break;
+            case 13:
+                if (!base.slice_from("og"))
+                {
+                    return false;
+                }
+                break;
+            case 14:
+                if (!(base.eq_s_b("l")))
+                {
+                    return false;
+                }
+                if (!base.slice_from("og"))
+                {
+                    return false;
+                }
+                break;
+            case 15:
+                if (!base.slice_from("less"))
+                {
+                    return false;
+                }
+                break;
+            case 16:
+                if (!(base.in_grouping_b(g_valid_LI, 99, 116)))
+                {
+                    return false;
+                }
+                if (!base.slice_del())
+                {
+                    return false;
+                }
+                break;
+        }
+        return true;
+    };
+
+    /** @return {boolean} */
+    function r_Step_3() {
+        var /** number */ among_var;
+        base.ket = base.cursor;
+        among_var = base.find_among_b(a_8);
+        if (among_var == 0)
+        {
+            return false;
+        }
+        base.bra = base.cursor;
+        if (!r_R1())
+        {
+            return false;
+        }
+        switch (among_var) {
+            case 1:
+                if (!base.slice_from("tion"))
+                {
+                    return false;
+                }
+                break;
+            case 2:
+                if (!base.slice_from("ate"))
+                {
+                    return false;
+                }
+                break;
+            case 3:
+                if (!base.slice_from("al"))
+                {
+                    return false;
+                }
+                break;
+            case 4:
+                if (!base.slice_from("ic"))
+                {
+                    return false;
+                }
+                break;
+            case 5:
+                if (!base.slice_del())
+                {
+                    return false;
+                }
+                break;
+            case 6:
+                if (!r_R2())
+                {
+                    return false;
+                }
+                if (!base.slice_del())
+                {
+                    return false;
+                }
+                break;
+        }
+        return true;
+    };
+
+    /** @return {boolean} */
+    function r_Step_4() {
+        var /** number */ among_var;
+        base.ket = base.cursor;
+        among_var = base.find_among_b(a_9);
+        if (among_var == 0)
+        {
+            return false;
+        }
+        base.bra = base.cursor;
+        if (!r_R2())
+        {
+            return false;
+        }
+        switch (among_var) {
+            case 1:
+                if (!base.slice_del())
+                {
+                    return false;
+                }
+                break;
+            case 2:
+                lab0: {
+                    /** @const */ var /** number */ v_1 = base.limit - base.cursor;
+                    lab1: {
+                        if (!(base.eq_s_b("s")))
+                        {
+                            break lab1;
+                        }
+                        break lab0;
+                    }
+                    base.cursor = base.limit - v_1;
+                    if (!(base.eq_s_b("t")))
+                    {
+                        return false;
+                    }
+                }
+                if (!base.slice_del())
+                {
+                    return false;
+                }
+                break;
+        }
+        return true;
+    };
+
+    /** @return {boolean} */
+    function r_Step_5() {
+        var /** number */ among_var;
+        base.ket = base.cursor;
+        among_var = base.find_among_b(a_10);
+        if (among_var == 0)
+        {
+            return false;
+        }
+        base.bra = base.cursor;
+        switch (among_var) {
+            case 1:
+                lab0: {
+                    lab1: {
+                        if (!r_R2())
+                        {
+                            break lab1;
+                        }
+                        break lab0;
+                    }
+                    if (!r_R1())
+                    {
+                        return false;
+                    }
+                    {
+                        /** @const */ var /** number */ v_1 = base.limit - base.cursor;
+                        lab2: {
+                            if (!r_shortv())
+                            {
+                                break lab2;
+                            }
+                            return false;
+                        }
+                        base.cursor = base.limit - v_1;
+                    }
+                }
+                if (!base.slice_del())
+                {
+                    return false;
+                }
+                break;
+            case 2:
+                if (!r_R2())
+                {
+                    return false;
+                }
+                if (!(base.eq_s_b("l")))
+                {
+                    return false;
+                }
+                if (!base.slice_del())
+                {
+                    return false;
+                }
+                break;
+        }
+        return true;
+    };
+
+    /** @return {boolean} */
+    function r_exception1() {
+        var /** number */ among_var;
+        base.bra = base.cursor;
+        among_var = base.find_among(a_11);
+        if (among_var == 0)
+        {
+            return false;
+        }
+        base.ket = base.cursor;
+        if (base.cursor < base.limit)
+        {
+            return false;
+        }
+        switch (among_var) {
+            case 1:
+                if (!base.slice_from("sky"))
+                {
+                    return false;
+                }
+                break;
+            case 2:
+                if (!base.slice_from("idl"))
+                {
+                    return false;
+                }
+                break;
+            case 3:
+                if (!base.slice_from("gentl"))
+                {
+                    return false;
+                }
+                break;
+            case 4:
+                if (!base.slice_from("ugli"))
+                {
+                    return false;
+                }
+                break;
+            case 5:
+                if (!base.slice_from("earli"))
+                {
+                    return false;
+                }
+                break;
+            case 6:
+                if (!base.slice_from("onli"))
+                {
+                    return false;
+                }
+                break;
+            case 7:
+                if (!base.slice_from("singl"))
+                {
+                    return false;
+                }
+                break;
+        }
+        return true;
+    };
+
+    /** @return {boolean} */
+    function r_postlude() {
+        if (!B_Y_found)
+        {
+            return false;
+        }
+        while(true)
+        {
+            /** @const */ var /** number */ v_1 = base.cursor;
+            lab0: {
+                golab1: while(true)
+                {
+                    /** @const */ var /** number */ v_2 = base.cursor;
+                    lab2: {
+                        base.bra = base.cursor;
+                        if (!(base.eq_s("Y")))
+                        {
+                            break lab2;
+                        }
+                        base.ket = base.cursor;
+                        base.cursor = v_2;
+                        break golab1;
+                    }
+                    base.cursor = v_2;
+                    if (base.cursor >= base.limit)
+                    {
+                        break lab0;
+                    }
+                    base.cursor++;
+                }
+                if (!base.slice_from("y"))
+                {
+                    return false;
+                }
+                continue;
+            }
+            base.cursor = v_1;
+            break;
+        }
+        return true;
+    };
+
+    this.stem = /** @return {boolean} */ function() {
+        lab0: {
+            /** @const */ var /** number */ v_1 = base.cursor;
+            lab1: {
+                if (!r_exception1())
+                {
+                    break lab1;
+                }
+                break lab0;
+            }
+            base.cursor = v_1;
+            lab2: {
+                {
+                    /** @const */ var /** number */ v_2 = base.cursor;
+                    lab3: {
+                        {
+                            /** @const */ var /** number */ c1 = base.cursor + 3;
+                            if (c1 > base.limit)
+                            {
+                                break lab3;
+                            }
+                            base.cursor = c1;
+                        }
+                        break lab2;
+                    }
+                    base.cursor = v_2;
+                }
+                break lab0;
+            }
+            base.cursor = v_1;
+            r_prelude();
+            r_mark_regions();
+            base.limit_backward = base.cursor; base.cursor = base.limit;
+            /** @const */ var /** number */ v_3 = base.limit - base.cursor;
+            r_Step_1a();
+            base.cursor = base.limit - v_3;
+            /** @const */ var /** number */ v_4 = base.limit - base.cursor;
+            r_Step_1b();
+            base.cursor = base.limit - v_4;
+            /** @const */ var /** number */ v_5 = base.limit - base.cursor;
+            r_Step_1c();
+            base.cursor = base.limit - v_5;
+            /** @const */ var /** number */ v_6 = base.limit - base.cursor;
+            r_Step_2();
+            base.cursor = base.limit - v_6;
+            /** @const */ var /** number */ v_7 = base.limit - base.cursor;
+            r_Step_3();
+            base.cursor = base.limit - v_7;
+            /** @const */ var /** number */ v_8 = base.limit - base.cursor;
+            r_Step_4();
+            base.cursor = base.limit - v_8;
+            /** @const */ var /** number */ v_9 = base.limit - base.cursor;
+            r_Step_5();
+            base.cursor = base.limit - v_9;
+            base.cursor = base.limit_backward;
+            /** @const */ var /** number */ v_10 = base.cursor;
+            r_postlude();
+            base.cursor = v_10;
+        }
+        return true;
+    };
+
+    /**@return{string}*/
+    this['stemWord'] = function(/**string*/word) {
+        base.setCurrent(word);
+        this.stem();
+        return base.getCurrent();
+    };
+};
diff --git a/docs/main/_static/language_data.js b/docs/main/_static/language_data.js
index c7fe6c6..5776786 100644
--- a/docs/main/_static/language_data.js
+++ b/docs/main/_static/language_data.js
@@ -1,192 +1,13 @@
 /*
  * This script contains the language-specific data used by searchtools.js,
- * namely the list of stopwords, stemmer, scorer and splitter.
+ * namely the set of stopwords, stemmer, scorer and splitter.
  */
 
-var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"];
+const stopwords = new Set(["a", "about", "above", "after", "again", "against", "all", "am", "an", "and", "any", "are", "aren't", "as", "at", "be", "because", "been", "before", "being", "below", "between", "both", "but", "by", "can't", "cannot", "could", "couldn't", "did", "didn't", "do", "does", "doesn't", "doing", "don't", "down", "during", "each", "few", "for", "from", "further", "had", "hadn't", "has", "hasn't", "have", "haven't", "having", "he", "he'd", "he'll", "he's", "her", "here" [...]
+window.stopwords = stopwords;  // Export to global scope
 
 
-/* Non-minified version is copied as a separate JS file, if available */
-
-/**
- * Porter Stemmer
- */
-var Stemmer = function() {
-
-  var step2list = {
-    ational: 'ate',
-    tional: 'tion',
-    enci: 'ence',
-    anci: 'ance',
-    izer: 'ize',
-    bli: 'ble',
-    alli: 'al',
-    entli: 'ent',
-    eli: 'e',
-    ousli: 'ous',
-    ization: 'ize',
-    ation: 'ate',
-    ator: 'ate',
-    alism: 'al',
-    iveness: 'ive',
-    fulness: 'ful',
-    ousness: 'ous',
-    aliti: 'al',
-    iviti: 'ive',
-    biliti: 'ble',
-    logi: 'log'
-  };
-
-  var step3list = {
-    icate: 'ic',
-    ative: '',
-    alize: 'al',
-    iciti: 'ic',
-    ical: 'ic',
-    ful: '',
-    ness: ''
-  };
-
-  var c = "[^aeiou]";          // consonant
-  var v = "[aeiouy]";          // vowel
-  var C = c + "[^aeiouy]*";    // consonant sequence
-  var V = v + "[aeiou]*";      // vowel sequence
-
-  var mgr0 = "^(" + C + ")?" + V + C;                      // [C]VC... is m>0
-  var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$";    // [C]VC[V] is m=1
-  var mgr1 = "^(" + C + ")?" + V + C + V + C;              // [C]VCVC... is m>1
-  var s_v   = "^(" + C + ")?" + v;                         // vowel in stem
-
-  this.stemWord = function (w) {
-    var stem;
-    var suffix;
-    var firstch;
-    var origword = w;
-
-    if (w.length < 3)
-      return w;
-
-    var re;
-    var re2;
-    var re3;
-    var re4;
-
-    firstch = w.substr(0,1);
-    if (firstch == "y")
-      w = firstch.toUpperCase() + w.substr(1);
-
-    // Step 1a
-    re = /^(.+?)(ss|i)es$/;
-    re2 = /^(.+?)([^s])s$/;
-
-    if (re.test(w))
-      w = w.replace(re,"$1$2");
-    else if (re2.test(w))
-      w = w.replace(re2,"$1$2");
-
-    // Step 1b
-    re = /^(.+?)eed$/;
-    re2 = /^(.+?)(ed|ing)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      re = new RegExp(mgr0);
-      if (re.test(fp[1])) {
-        re = /.$/;
-        w = w.replace(re,"");
-      }
-    }
-    else if (re2.test(w)) {
-      var fp = re2.exec(w);
-      stem = fp[1];
-      re2 = new RegExp(s_v);
-      if (re2.test(stem)) {
-        w = stem;
-        re2 = /(at|bl|iz)$/;
-        re3 = new RegExp("([^aeiouylsz])\\1$");
-        re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
-        if (re2.test(w))
-          w = w + "e";
-        else if (re3.test(w)) {
-          re = /.$/;
-          w = w.replace(re,"");
-        }
-        else if (re4.test(w))
-          w = w + "e";
-      }
-    }
-
-    // Step 1c
-    re = /^(.+?)y$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      re = new RegExp(s_v);
-      if (re.test(stem))
-        w = stem + "i";
-    }
-
-    // Step 2
-    re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      suffix = fp[2];
-      re = new RegExp(mgr0);
-      if (re.test(stem))
-        w = stem + step2list[suffix];
-    }
-
-    // Step 3
-    re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      suffix = fp[2];
-      re = new RegExp(mgr0);
-      if (re.test(stem))
-        w = stem + step3list[suffix];
-    }
-
-    // Step 4
-    re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
-    re2 = /^(.+?)(s|t)(ion)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      re = new RegExp(mgr1);
-      if (re.test(stem))
-        w = stem;
-    }
-    else if (re2.test(w)) {
-      var fp = re2.exec(w);
-      stem = fp[1] + fp[2];
-      re2 = new RegExp(mgr1);
-      if (re2.test(stem))
-        w = stem;
-    }
-
-    // Step 5
-    re = /^(.+?)e$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      re = new RegExp(mgr1);
-      re2 = new RegExp(meq1);
-      re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
-      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
-        w = stem;
-    }
-    re = /ll$/;
-    re2 = new RegExp(mgr1);
-    if (re.test(w) && re2.test(w)) {
-      re = /.$/;
-      w = w.replace(re,"");
-    }
-
-    // and turn initial Y back to y
-    if (firstch == "y")
-      w = firstch.toLowerCase() + w.substr(1);
-    return w;
-  }
-}
-
+/* Non-minified versions are copied as separate JavaScript files, if available */
+BaseStemmer=function(){this.current="",this.cursor=0,this.limit=0,this.limit_backward=0,this.bra=0,this.ket=0,this.setCurrent=function(t){this.current=t,this.cursor=0,this.limit=this.current.length,this.limit_backward=0,this.bra=this.cursor,this.ket=this.limit},this.getCurrent=function(){return this.current},this.copy_from=function(t){this.current=t.current,this.cursor=t.cursor,this.limit=t.limit,this.limit_backward=t.limit_backward,this.bra=t.bra,this.ket=t.ket},this.in_grouping=functio [...]
+var EnglishStemmer=function(){var a=new BaseStemmer,c=[["arsen",-1,-1],["commun",-1,-1],["emerg",-1,-1],["gener",-1,-1],["later",-1,-1],["organ",-1,-1],["past",-1,-1],["univers",-1,-1]],o=[["'",-1,1],["'s'",0,1],["'s",-1,1]],u=[["ied",-1,2],["s",-1,3],["ies",1,2],["sses",1,1],["ss",1,-1],["us",1,-1]],t=[["succ",-1,1],["proc",-1,1],["exc",-1,1]],l=[["even",-1,2],["cann",-1,2],["inn",-1,2],["earr",-1,2],["herr",-1,2],["out",-1,2],["y",-1,1]],n=[["",-1,-1],["ed",0,2],["eed",1,1],["ing",0,3] [...]
+window.Stemmer = EnglishStemmer;
diff --git a/docs/main/_static/searchtools.js b/docs/main/_static/searchtools.js
index 91f4be5..e29b1c7 100644
--- a/docs/main/_static/searchtools.js
+++ b/docs/main/_static/searchtools.js
@@ -41,11 +41,12 @@ if (typeof Scorer === "undefined") {
 }
 
 // Global search result kind enum, used by themes to style search results.
+// prettier-ignore
 class SearchResultKind {
-    static get index() { return  "index"; }
-    static get object() { return "object"; }
-    static get text() { return "text"; }
-    static get title() { return "title"; }
+  static get index() { return "index"; }
+  static get object() { return "object"; }
+  static get text() { return "text"; }
+  static get title() { return "title"; }
 }
 
 const _removeChildren = (element) => {
@@ -58,6 +59,15 @@ const _removeChildren = (element) => {
 const _escapeRegExp = (string) =>
   string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
 
+const _escapeHTML = (text) => {
+  return text
+    .replaceAll("&", "&amp;")
+    .replaceAll("<", "&lt;")
+    .replaceAll(">", "&gt;")
+    .replaceAll('"', "&quot;")
+    .replaceAll("'", "&apos;");
+};
+
 const _displayItem = (item, searchTerms, highlightTerms) => {
   const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
   const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
@@ -90,25 +100,30 @@ const _displayItem = (item, searchTerms, highlightTerms) => {
   let linkEl = listItem.appendChild(document.createElement("a"));
   linkEl.href = linkUrl + anchor;
   linkEl.dataset.score = score;
-  linkEl.innerHTML = title;
+  linkEl.innerHTML = _escapeHTML(title);
   if (descr) {
     listItem.appendChild(document.createElement("span")).innerHTML =
-      " (" + descr + ")";
+      ` (${_escapeHTML(descr)})`;
     // highlight search terms in the description
-    if (SPHINX_HIGHLIGHT_ENABLED)  // set in sphinx_highlight.js
-      highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
-  }
-  else if (showSearchSummary)
+    if (SPHINX_HIGHLIGHT_ENABLED)
+      // SPHINX_HIGHLIGHT_ENABLED is set in sphinx_highlight.js
+      highlightTerms.forEach((term) =>
+        _highlightText(listItem, term, "highlighted"),
+      );
+  } else if (showSearchSummary)
     fetch(requestUrl)
       .then((responseData) => responseData.text())
       .then((data) => {
         if (data)
           listItem.appendChild(
-            Search.makeSearchSummary(data, searchTerms, anchor)
+            Search.makeSearchSummary(data, searchTerms, anchor),
           );
         // highlight search terms in the summary
-        if (SPHINX_HIGHLIGHT_ENABLED)  // set in sphinx_highlight.js
-          highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+        if (SPHINX_HIGHLIGHT_ENABLED)
+          // SPHINX_HIGHLIGHT_ENABLED is set in sphinx_highlight.js
+          highlightTerms.forEach((term) =>
+            _highlightText(listItem, term, "highlighted"),
+          );
       });
   Search.output.appendChild(listItem);
 };
@@ -117,14 +132,14 @@ const _finishSearch = (resultCount) => {
   Search.title.innerText = _("Search Results");
   if (!resultCount)
     Search.status.innerText = Documentation.gettext(
-      "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
+      "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.",
     );
   else
     Search.status.innerText = Documentation.ngettext(
       "Search finished, found one page matching the search query.",
       "Search finished, found ${resultCount} pages matching the search query.",
       resultCount,
-    ).replace('${resultCount}', resultCount);
+    ).replace("${resultCount}", resultCount);
 };
 const _displayNextItem = (
   results,
@@ -138,7 +153,7 @@ const _displayNextItem = (
     _displayItem(results.pop(), searchTerms, highlightTerms);
     setTimeout(
       () => _displayNextItem(results, resultCount, searchTerms, highlightTerms),
-      5
+      5,
     );
   }
   // search finished, update title and status message
@@ -170,9 +185,10 @@ const _orderResultsByScoreThenName = (a, b) => {
  * This is the same as ``\W+`` in Python, preserving the surrogate pair area.
  */
 if (typeof splitQuery === "undefined") {
-  var splitQuery = (query) => query
+  var splitQuery = (query) =>
+    query
       .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
-      .filter(term => term)  // remove remaining empty strings
+      .filter((term) => term); // remove remaining empty strings
 }
 
 /**
@@ -184,16 +200,23 @@ const Search = {
   _pulse_status: -1,
 
   htmlToText: (htmlString, anchor) => {
-    const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
+    const htmlElement = new DOMParser().parseFromString(
+      htmlString,
+      "text/html",
+    );
     for (const removalQuery of [".headerlink", "script", "style"]) {
-      htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() });
+      htmlElement.querySelectorAll(removalQuery).forEach((el) => {
+        el.remove();
+      });
     }
     if (anchor) {
-      const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`);
+      const anchorContent = htmlElement.querySelector(
+        `[role="main"] ${anchor}`,
+      );
       if (anchorContent) return anchorContent.textContent;
 
       console.warn(
-        `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.`
+        `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.`,
       );
     }
 
@@ -202,7 +225,7 @@ const Search = {
     if (docContent) return docContent.textContent;
 
     console.warn(
-      "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template."
+      "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template.",
     );
     return "";
   },
@@ -287,12 +310,8 @@ const Search = {
       const queryTermLower = queryTerm.toLowerCase();
 
       // maybe skip this "word"
-      // stopwords array is from language_data.js
-      if (
-        stopwords.indexOf(queryTermLower) !== -1 ||
-        queryTerm.match(/^\d+$/)
-      )
-        return;
+      // stopwords set is from language_data.js
+      if (stopwords.has(queryTermLower) || queryTerm.match(/^\d+$/)) return;
 
       // stem the word
       let word = stemmer.stemWord(queryTermLower);
@@ -304,8 +323,12 @@ const Search = {
       }
     });
 
-    if (SPHINX_HIGHLIGHT_ENABLED) {  // set in sphinx_highlight.js
-      localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" "))
+    if (SPHINX_HIGHLIGHT_ENABLED) {
+      // SPHINX_HIGHLIGHT_ENABLED is set in sphinx_highlight.js
+      localStorage.setItem(
+        "sphinx_highlight_terms",
+        [...highlightTerms].join(" "),
+      );
     }
 
     // console.debug("SEARCH: searching for:");
@@ -318,7 +341,13 @@ const Search = {
   /**
    * execute search (requires search index to be loaded)
    */
-  _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => {
+  _performSearch: (
+    query,
+    searchTerms,
+    excludedTerms,
+    highlightTerms,
+    objectTerms,
+  ) => {
     const filenames = Search._index.filenames;
     const docNames = Search._index.docnames;
     const titles = Search._index.titles;
@@ -334,10 +363,15 @@ const Search = {
 
     const queryLower = query.toLowerCase().trim();
     for (const [title, foundTitles] of Object.entries(allTitles)) {
-      if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) {
+      if (
+        title.toLowerCase().trim().includes(queryLower)
+        && queryLower.length >= title.length / 2
+      ) {
         for (const [file, id] of foundTitles) {
-          const score = Math.round(Scorer.title * queryLower.length / title.length);
-          const boost = titles[file] === title ? 1 : 0;  // add a boost for document titles
+          const score = Math.round(
+            (Scorer.title * queryLower.length) / title.length,
+          );
+          const boost = titles[file] === title ? 1 : 0; // add a boost for document titles
           normalResults.push([
             docNames[file],
             titles[file] !== title ? `${titles[file]} > ${title}` : title,
@@ -353,9 +387,9 @@ const Search = {
 
     // search for explicit entries in index directives
     for (const [entry, foundEntries] of Object.entries(indexEntries)) {
-      if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) {
+      if (entry.includes(queryLower) && queryLower.length >= entry.length / 2) {
         for (const [file, id, isMain] of foundEntries) {
-          const score = Math.round(100 * queryLower.length / entry.length);
+          const score = Math.round((100 * queryLower.length) / entry.length);
           const result = [
             docNames[file],
             titles[file],
@@ -376,11 +410,13 @@ const Search = {
 
     // lookup as object
     objectTerms.forEach((term) =>
-      normalResults.push(...Search.performObjectSearch(term, objectTerms))
+      normalResults.push(...Search.performObjectSearch(term, objectTerms)),
     );
 
     // lookup as search terms in fulltext
-    normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms));
+    normalResults.push(
+      ...Search.performTermsSearch(searchTerms, excludedTerms),
+    );
 
     // let the scorer override scores with a custom scoring function
     if (Scorer.score) {
@@ -401,7 +437,11 @@ const Search = {
     // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
     let seen = new Set();
     results = results.reverse().reduce((acc, result) => {
-      let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(',');
+      let resultStr = result
+        .slice(0, 4)
+        .concat([result[5]])
+        .map((v) => String(v))
+        .join(",");
       if (!seen.has(resultStr)) {
         acc.push(result);
         seen.add(resultStr);
@@ -413,8 +453,20 @@ const Search = {
   },
 
   query: (query) => {
-    const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query);
-    const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms);
+    const [
+      searchQuery,
+      searchTerms,
+      excludedTerms,
+      highlightTerms,
+      objectTerms,
+    ] = Search._parseQuery(query);
+    const results = Search._performSearch(
+      searchQuery,
+      searchTerms,
+      excludedTerms,
+      highlightTerms,
+      objectTerms,
+    );
 
     // for debugging
     //Search.lastresults = results.slice();  // a copy
@@ -437,7 +489,7 @@ const Search = {
     const results = [];
 
     const objectSearchCallback = (prefix, match) => {
-      const name = match[4]
+      const name = match[4];
       const fullname = (prefix ? prefix + "." : "") + name;
       const fullnameLower = fullname.toLowerCase();
       if (fullnameLower.indexOf(object) < 0) return;
@@ -489,9 +541,7 @@ const Search = {
       ]);
     };
     Object.keys(objects).forEach((prefix) =>
-      objects[prefix].forEach((array) =>
-        objectSearchCallback(prefix, array)
-      )
+      objects[prefix].forEach((array) => objectSearchCallback(prefix, array)),
     );
     return results;
   },
@@ -516,8 +566,14 @@ const Search = {
       // find documents, if any, containing the query word in their text/title term indices
       // use Object.hasOwnProperty to avoid mismatching against prototype properties
       const arr = [
-        { files: terms.hasOwnProperty(word) ? terms[word] : undefined, score: Scorer.term },
-        { files: titleTerms.hasOwnProperty(word) ? titleTerms[word] : undefined, score: Scorer.title },
+        {
+          files: terms.hasOwnProperty(word) ? terms[word] : undefined,
+          score: Scorer.term,
+        },
+        {
+          files: titleTerms.hasOwnProperty(word) ? titleTerms[word] : undefined,
+          score: Scorer.title,
+        },
       ];
       // add support for partial matches
       if (word.length > 2) {
@@ -558,7 +614,8 @@ const Search = {
       // create the mapping
       files.forEach((file) => {
         if (!fileMap.has(file)) fileMap.set(file, [word]);
-        else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word);
+        else if (fileMap.get(file).indexOf(word) === -1)
+          fileMap.get(file).push(word);
       });
     });
 
@@ -569,11 +626,11 @@ const Search = {
 
       // as search terms with length < 3 are discarded
       const filteredTermCount = [...searchTerms].filter(
-        (term) => term.length > 2
+        (term) => term.length > 2,
       ).length;
       if (
-        wordList.length !== searchTerms.size &&
-        wordList.length !== filteredTermCount
+        wordList.length !== searchTerms.size
+        && wordList.length !== filteredTermCount
       )
         continue;
 
@@ -581,10 +638,10 @@ const Search = {
       if (
         [...excludedTerms].some(
           (term) =>
-            terms[term] === file ||
-            titleTerms[term] === file ||
-            (terms[term] || []).includes(file) ||
-            (titleTerms[term] || []).includes(file)
+            terms[term] === file
+            || titleTerms[term] === file
+            || (terms[term] || []).includes(file)
+            || (titleTerms[term] || []).includes(file),
         )
       )
         break;
@@ -626,7 +683,8 @@ const Search = {
 
     let summary = document.createElement("p");
     summary.classList.add("context");
-    summary.textContent = top + text.substr(startWithContext, 240).trim() + tail;
+    summary.textContent =
+      top + text.substr(startWithContext, 240).trim() + tail;
 
     return summary;
   },
diff --git a/docs/main/_static/sphinx_highlight.js b/docs/main/_static/sphinx_highlight.js
index 8a96c69..a74e103 100644
--- a/docs/main/_static/sphinx_highlight.js
+++ b/docs/main/_static/sphinx_highlight.js
@@ -1,7 +1,7 @@
 /* Highlighting utilities for Sphinx HTML documentation. */
 "use strict";
 
-const SPHINX_HIGHLIGHT_ENABLED = true
+const SPHINX_HIGHLIGHT_ENABLED = true;
 
 /**
  * highlight a given string on a node by wrapping it in
@@ -13,9 +13,9 @@ const _highlight = (node, addItems, text, className) => {
     const parent = node.parentNode;
     const pos = val.toLowerCase().indexOf(text);
     if (
-      pos >= 0 &&
-      !parent.classList.contains(className) &&
-      !parent.classList.contains("nohighlight")
+      pos >= 0
+      && !parent.classList.contains(className)
+      && !parent.classList.contains("nohighlight")
     ) {
       let span;
 
@@ -30,13 +30,7 @@ const _highlight = (node, addItems, text, className) => {
 
       span.appendChild(document.createTextNode(val.substr(pos, text.length)));
       const rest = document.createTextNode(val.substr(pos + text.length));
-      parent.insertBefore(
-        span,
-        parent.insertBefore(
-          rest,
-          node.nextSibling
-        )
-      );
+      parent.insertBefore(span, parent.insertBefore(rest, node.nextSibling));
       node.nodeValue = val.substr(0, pos);
       /* There may be more occurrences of search term in this node. So call this
        * function recursively on the remaining fragment.
@@ -46,7 +40,7 @@ const _highlight = (node, addItems, text, className) => {
       if (isInSVG) {
         const rect = document.createElementNS(
           "http://www.w3.org/2000/svg",
-          "rect"
+          "rect",
         );
         const bbox = parent.getBBox();
         rect.x.baseVal.value = bbox.x;
@@ -65,7 +59,7 @@ const _highlightText = (thisNode, text, className) => {
   let addItems = [];
   _highlight(thisNode, addItems, text, className);
   addItems.forEach((obj) =>
-    obj.parent.insertAdjacentElement("beforebegin", obj.target)
+    obj.parent.insertAdjacentElement("beforebegin", obj.target),
   );
 };
 
@@ -73,25 +67,31 @@ const _highlightText = (thisNode, text, className) => {
  * Small JavaScript module for the documentation.
  */
 const SphinxHighlight = {
-
   /**
    * highlight the search words provided in localstorage in the text
    */
   highlightSearchWords: () => {
-    if (!SPHINX_HIGHLIGHT_ENABLED) return;  // bail if no highlight
+    if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight
 
     // get and clear terms from localstorage
     const url = new URL(window.location);
     const highlight =
-        localStorage.getItem("sphinx_highlight_terms")
-        || url.searchParams.get("highlight")
-        || "";
-    localStorage.removeItem("sphinx_highlight_terms")
-    url.searchParams.delete("highlight");
-    window.history.replaceState({}, "", url);
+      localStorage.getItem("sphinx_highlight_terms")
+      || url.searchParams.get("highlight")
+      || "";
+    localStorage.removeItem("sphinx_highlight_terms");
+    // Update history only if '?highlight' is present; otherwise it
+    // clears text fragments (not set in window.location by the browser)
+    if (url.searchParams.has("highlight")) {
+      url.searchParams.delete("highlight");
+      window.history.replaceState({}, "", url);
+    }
 
     // get individual terms from highlight string
-    const terms = highlight.toLowerCase().split(/\s+/).filter(x => x);
+    const terms = highlight
+      .toLowerCase()
+      .split(/\s+/)
+      .filter((x) => x);
     if (terms.length === 0) return; // nothing to do
 
     // There should never be more than one element matching "div.body"
@@ -107,11 +107,11 @@ const SphinxHighlight = {
       document
         .createRange()
         .createContextualFragment(
-          '<p class="highlight-link">' +
-            '<a href="javascript:SphinxHighlight.hideSearchWords()">' +
-            _("Hide Search Matches") +
-            "</a></p>"
-        )
+          '<p class="highlight-link">'
+            + '<a href="javascript:SphinxHighlight.hideSearchWords()">'
+            + _("Hide Search Matches")
+            + "</a></p>",
+        ),
     );
   },
 
@@ -125,7 +125,7 @@ const SphinxHighlight = {
     document
       .querySelectorAll("span.highlighted")
       .forEach((el) => el.classList.remove("highlighted"));
-    localStorage.removeItem("sphinx_highlight_terms")
+    localStorage.removeItem("sphinx_highlight_terms");
   },
 
   initEscapeListener: () => {
@@ -134,10 +134,15 @@ const SphinxHighlight = {
 
     document.addEventListener("keydown", (event) => {
       // bail for input elements
-      if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
+      if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName))
+        return;
       // bail with special keys
-      if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return;
-      if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) {
+      if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey)
+        return;
+      if (
+        DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
+        && event.key === "Escape"
+      ) {
         SphinxHighlight.hideSearchWords();
         event.preventDefault();
       }
diff --git a/docs/main/distinct_counting/cpc.html b/docs/main/distinct_counting/cpc.html
index 2d87ef5..1507fd5 100644
--- a/docs/main/distinct_counting/cpc.html
+++ b/docs/main/distinct_counting/cpc.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Compressed Probabilistic Counting (CPC) &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -49,20 +49,20 @@
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.cpc_sketch"><code class="docutils literal notranslate"><span class="pre">cpc_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.get_estimate</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.get_lower_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.get_upper_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.is_empty</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.get_estimate()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.get_lower_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.get_upper_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.is_empty()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.lg_k"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.lg_k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.update"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_sketch.update"><code class="docutils literal notranslate"><span class="pre">cpc_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.cpc_union"><code class="docutils literal notranslate"><span class="pre">cpc_union</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_union.__init__"><code class="docutils literal notranslate"><span class="pre">cpc_union.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_union.get_result"><code class="docutils literal notranslate"><span class="pre">cpc_union.get_result</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_union.update"><code class="docutils literal notranslate"><span class="pre">cpc_union.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_union.get_result"><code class="docutils literal notranslate"><span class="pre">cpc_union.get_result()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.cpc_union.update"><code class="docutils literal notranslate"><span class="pre">cpc_union.update()</span></code></a></li>
 </ul>
 </li>
 </ul>
@@ -125,7 +125,7 @@ The unioning (merging) capability of this sketch also allows for merging of sket
 For additional security this sketch can be configured with a user-specified hash seed.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.cpc_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">cpc_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">cpc_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-p [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_sketch.deserialize">
@@ -148,51 +148,55 @@ For additional security this sketch can be configured with a user-specified hash
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_sketch.get_estimate">
-<span class="sig-name descname"><span class="pre">get_estimate</span></span><a class="headerlink" href="#datasketches.cpc_sketch.get_estimate" title="Link to this definition"></a></dt>
+<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">self</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">float</span></span></span><a class="headerlink" href="#datasketches.cpc_sketch.get_estimate" title="Link to this definition"></a></dt>
 <dd><p>Estimate of the distinct count of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_sketch.get_lower_bound">
-<span class="sig-name descname"><span class="pre">get_lower_bound</span></span><a class="headerlink" href="#datasketches.cpc_sketch.get_lower_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kappa</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> <span class="sig-return"><span class="sig-return-icon">&#x2192; [...]
 <dd><p>Returns an approximate lower bound on the estimate for kappa values in {1, 2, 3}, roughly corresponding to standard deviations</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_sketch.get_upper_bound">
-<span class="sig-name descname"><span class="pre">get_upper_bound</span></span><a class="headerlink" href="#datasketches.cpc_sketch.get_upper_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kappa</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> <span class="sig-return"><span class="sig-return-icon">&#x2192; [...]
 <dd><p>Returns an approximate upper bound on the estimate for kappa values in {1, 2, 3}, roughly corresponding to standard deviations</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.cpc_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.cpc_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 property">
 <dt class="sig sig-object py" id="datasketches.cpc_sketch.lg_k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">lg_k</span></span><a class="headerlink" href="#datasketches.cpc_sketch.lg_k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">lg_k</span></span><a class="headerlink" href="#datasketches.cpc_sketch.lg_k" title="Link to this definition"></a></dt>
 <dd><p>Configured lg_k of this sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.cpc_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.cpc_sketch.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.cpc_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</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">str</span></span></span><a class="headerlink" href="#datasketches.cpc_sketch.to_string" title="Link to this definition"></a></dt>
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.cpc_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</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> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> < [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> < [...]
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">datum:</span> <span class="pre">int)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -212,21 +216,21 @@ For additional security this sketch can be configured with a user-specified hash
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.cpc_union">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">cpc_union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren" [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">cpc_union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-pa [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_union.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lg_k</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="p"><span class= [...]
 <dd></dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_union.get_result">
-<span class="sig-name descname"><span class="pre">get_result</span></span><a class="headerlink" href="#datasketches.cpc_union.get_result" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_result</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference internal" href="#datasketches.cpc_sketch" title="_datasketches.cpc_sketch"><span class="pre">_datasketches.cpc_sketch</span></a></span></span><a clas [...]
 <dd><p>Returns a CPC sketch with the result of the union</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_union.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.cpc_union.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.cpc_sketch" title="_datasketches.cpc_sketch"><span class="pre">_datasketches.cpc_sketch</span> [...]
 <dd><p>Updates the union with the provided CPC sketch</p>
 </dd></dl>
 
diff --git a/docs/main/distinct_counting/hyper_log_log.html b/docs/main/distinct_counting/hyper_log_log.html
index a60930e..8a5e8ce 100644
--- a/docs/main/distinct_counting/hyper_log_log.html
+++ b/docs/main/distinct_counting/hyper_log_log.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>HyperLogLog (HLL) &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -56,33 +56,33 @@
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.get_max_updatable_serialization_bytes"><code class="docutils literal notranslate"><span class="pre">hll_sketch.get_max_updatable_serialization_bytes()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.get_rel_err"><code class="docutils literal notranslate"><span class="pre">hll_sketch.get_rel_err()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">hll_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.get_compact_serialization_bytes"><code class="docutils literal notranslate"><span class="pre">hll_sketch.get_compact_serialization_bytes</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">hll_sketch.get_estimate</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">hll_sketch.get_lower_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.get_updatable_serialization_bytes"><code class="docutils literal notranslate"><span class="pre">hll_sketch.get_updatable_serialization_bytes</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">hll_sketch.get_upper_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.is_compact"><code class="docutils literal notranslate"><span class="pre">hll_sketch.is_compact</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">hll_sketch.is_empty</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.get_compact_serialization_bytes"><code class="docutils literal notranslate"><span class="pre">hll_sketch.get_compact_serialization_bytes()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">hll_sketch.get_estimate()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">hll_sketch.get_lower_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.get_updatable_serialization_bytes"><code class="docutils literal notranslate"><span class="pre">hll_sketch.get_updatable_serialization_bytes()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">hll_sketch.get_upper_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.is_compact"><code class="docutils literal notranslate"><span class="pre">hll_sketch.is_compact()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">hll_sketch.is_empty()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.lg_config_k"><code class="docutils literal notranslate"><span class="pre">hll_sketch.lg_config_k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.reset"><code class="docutils literal notranslate"><span class="pre">hll_sketch.reset</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.serialize_compact"><code class="docutils literal notranslate"><span class="pre">hll_sketch.serialize_compact</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.serialize_updatable"><code class="docutils literal notranslate"><span class="pre">hll_sketch.serialize_updatable</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.reset"><code class="docutils literal notranslate"><span class="pre">hll_sketch.reset()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.serialize_compact"><code class="docutils literal notranslate"><span class="pre">hll_sketch.serialize_compact()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.serialize_updatable"><code class="docutils literal notranslate"><span class="pre">hll_sketch.serialize_updatable()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.tgt_type"><code class="docutils literal notranslate"><span class="pre">hll_sketch.tgt_type</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">hll_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.update"><code class="docutils literal notranslate"><span class="pre">hll_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">hll_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_sketch.update"><code class="docutils literal notranslate"><span class="pre">hll_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.hll_union"><code class="docutils literal notranslate"><span class="pre">hll_union</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.get_rel_err"><code class="docutils literal notranslate"><span class="pre">hll_union.get_rel_err()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.__init__"><code class="docutils literal notranslate"><span class="pre">hll_union.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.get_estimate"><code class="docutils literal notranslate"><span class="pre">hll_union.get_estimate</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">hll_union.get_lower_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.get_result"><code class="docutils literal notranslate"><span class="pre">hll_union.get_result</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">hll_union.get_upper_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.is_empty"><code class="docutils literal notranslate"><span class="pre">hll_union.is_empty</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.get_estimate"><code class="docutils literal notranslate"><span class="pre">hll_union.get_estimate()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">hll_union.get_lower_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.get_result"><code class="docutils literal notranslate"><span class="pre">hll_union.get_result()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">hll_union.get_upper_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.is_empty"><code class="docutils literal notranslate"><span class="pre">hll_union.is_empty()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.lg_config_k"><code class="docutils literal notranslate"><span class="pre">hll_union.lg_config_k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.reset"><code class="docutils literal notranslate"><span class="pre">hll_union.reset</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.update"><code class="docutils literal notranslate"><span class="pre">hll_union.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.reset"><code class="docutils literal notranslate"><span class="pre">hll_union.reset()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.hll_union.update"><code class="docutils literal notranslate"><span class="pre">hll_union.update()</span></code></a></li>
 </ul>
 </li>
 </ul>
@@ -145,28 +145,28 @@ The configuration parameter <code class="docutils literal notranslate"><span cla
 <p>During warmup, when the sketch has only received a small number of unique items (up to about 10% of <code class="docutils literal notranslate"><span class="pre">k</span></code>), this implementation leverages a new class of estimator algorithms with significantly better accuracy.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.tgt_hll_type">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">tgt_hll_type</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">values</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.tgt_hll_type" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">tgt_hll_type</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">values</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.tgt_hll_type" title="Link to this definition"></a></dt>
 <dd><p>Target HLL flavor</p>
 <dl class="py attribute">
 <dt class="sig sig-object py" id="datasketches.tgt_hll_type.HLL_4">
-<span class="sig-name descname"><span class="pre">HLL_4</span></span><em class="property"><span class="w"> </span><span class="pre">:</span> <span class="pre">4</span> <span class="pre">bits</span> <span class="pre">per</span> <span class="pre">entry</span></em><a class="headerlink" href="#datasketches.tgt_hll_type.HLL_4" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">HLL_4</span></span><span class="property"><span class="w"> </span><span class="pre">:</span> <span class="pre">4</span> <span class="pre">bits</span> <span class="pre">per</span> <span class="pre">entry</span></span><a class="headerlink" href="#datasketches.tgt_hll_type.HLL_4" title="Link to this definition"></a></dt>
 <dd></dd></dl>
 
 <dl class="py attribute">
 <dt class="sig sig-object py" id="datasketches.tgt_hll_type.HLL_6">
-<span class="sig-name descname"><span class="pre">HLL_6</span></span><em class="property"><span class="w"> </span><span class="pre">:</span> <span class="pre">6</span> <span class="pre">bits</span> <span class="pre">per</span> <span class="pre">entry</span></em><a class="headerlink" href="#datasketches.tgt_hll_type.HLL_6" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">HLL_6</span></span><span class="property"><span class="w"> </span><span class="pre">:</span> <span class="pre">6</span> <span class="pre">bits</span> <span class="pre">per</span> <span class="pre">entry</span></span><a class="headerlink" href="#datasketches.tgt_hll_type.HLL_6" title="Link to this definition"></a></dt>
 <dd></dd></dl>
 
 <dl class="py attribute">
 <dt class="sig sig-object py" id="datasketches.tgt_hll_type.HLL_8">
-<span class="sig-name descname"><span class="pre">HLL_8</span></span><em class="property"><span class="w"> </span><span class="pre">:</span> <span class="pre">8</span> <span class="pre">bits</span> <span class="pre">per</span> <span class="pre">entry</span></em><a class="headerlink" href="#datasketches.tgt_hll_type.HLL_8" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">HLL_8</span></span><span class="property"><span class="w"> </span><span class="pre">:</span> <span class="pre">8</span> <span class="pre">bits</span> <span class="pre">per</span> <span class="pre">entry</span></span><a class="headerlink" href="#datasketches.tgt_hll_type.HLL_8" title="Link to this definition"></a></dt>
 <dd></dd></dl>
 
 </dd></dl>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.hll_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">hll_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">hll_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-p [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.deserialize">
@@ -202,87 +202,91 @@ The configuration parameter <code class="docutils literal notranslate"><span cla
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.get_compact_serialization_bytes">
-<span class="sig-name descname"><span class="pre">get_compact_serialization_bytes</span></span><a class="headerlink" href="#datasketches.hll_sketch.get_compact_serialization_bytes" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_compact_serialization_bytes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.hll_sketch.get_compact_serialization_bytes" title="Link to this  [...]
 <dd><p>Returns the size of the serialized sketch when compressing the exception table if HLL_4</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.get_estimate">
-<span class="sig-name descname"><span class="pre">get_estimate</span></span><a class="headerlink" href="#datasketches.hll_sketch.get_estimate" title="Link to this definition"></a></dt>
+<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">self</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">float</span></span></span><a class="headerlink" href="#datasketches.hll_sketch.get_estimate" title="Link to this definition"></a></dt>
 <dd><p>Estimate of the distinct count of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.get_lower_bound">
-<span class="sig-name descname"><span class="pre">get_lower_bound</span></span><a class="headerlink" href="#datasketches.hll_sketch.get_lower_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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> <span class="sig-return"><span class="sig-return-icon">& [...]
 <dd><p>Returns the approximate lower error bound given the specified number of standard deviations in {1, 2, 3}</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.get_updatable_serialization_bytes">
-<span class="sig-name descname"><span class="pre">get_updatable_serialization_bytes</span></span><a class="headerlink" href="#datasketches.hll_sketch.get_updatable_serialization_bytes" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_updatable_serialization_bytes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.hll_sketch.get_updatable_serialization_bytes" title="Link to t [...]
 <dd><p>Returns the size of the serialized sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.get_upper_bound">
-<span class="sig-name descname"><span class="pre">get_upper_bound</span></span><a class="headerlink" href="#datasketches.hll_sketch.get_upper_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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> <span class="sig-return"><span class="sig-return-icon">& [...]
 <dd><p>Returns the approximate upper error bound given the specified number of standard deviations in {1, 2, 3}</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.is_compact">
-<span class="sig-name descname"><span class="pre">is_compact</span></span><a class="headerlink" href="#datasketches.hll_sketch.is_compact" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_compact</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.hll_sketch.is_compact" title="Link to this definition"></a></dt>
 <dd><p>True if the sketch is compact, otherwise False</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.hll_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.hll_sketch.is_empty" title="Link to this definition"></a></dt>
 <dd><p>True if the sketch is empty, otherwise False</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.lg_config_k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">lg_config_k</span></span><a class="headerlink" href="#datasketches.hll_sketch.lg_config_k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">lg_config_k</span></span><a class="headerlink" href="#datasketches.hll_sketch.lg_config_k" title="Link to this definition"></a></dt>
 <dd><p>Configured lg_k value for the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.reset">
-<span class="sig-name descname"><span class="pre">reset</span></span><a class="headerlink" href="#datasketches.hll_sketch.reset" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">reset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">None</span></span></span><a class="headerlink" href="#datasketches.hll_sketch.reset" title="Link to this definition"></a></dt>
 <dd><p>Resets the sketch to the empty state in coupon collection mode</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.serialize_compact">
-<span class="sig-name descname"><span class="pre">serialize_compact</span></span><a class="headerlink" href="#datasketches.hll_sketch.serialize_compact" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize_compact</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.hll_sketch.serialize_compact" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object, compressing the exception table if HLL_4</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.serialize_updatable">
-<span class="sig-name descname"><span class="pre">serialize_updatable</span></span><a class="headerlink" href="#datasketches.hll_sketch.serialize_updatable" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize_updatable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.hll_sketch.serialize_updatable" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.tgt_type">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">tgt_type</span></span><a class="headerlink" href="#datasketches.hll_sketch.tgt_type" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">tgt_type</span></span><a class="headerlink" href="#datasketches.hll_sketch.tgt_type" title="Link to this definition"></a></dt>
 <dd><p>The HLL type (4, 6, or 8) when in estimation mode</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.hll_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</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 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 c [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.hll_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</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> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> < [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> < [...]
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">datum:</span> <span class="pre">int)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -302,7 +306,7 @@ The configuration parameter <code class="docutils literal notranslate"><span cla
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.hll_union">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">hll_union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren" [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">hll_union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-pa [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_union.get_rel_err">
@@ -322,51 +326,57 @@ The configuration parameter <code class="docutils literal notranslate"><span cla
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_union.get_estimate">
-<span class="sig-name descname"><span class="pre">get_estimate</span></span><a class="headerlink" href="#datasketches.hll_union.get_estimate" title="Link to this definition"></a></dt>
+<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">self</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">float</span></span></span><a class="headerlink" href="#datasketches.hll_union.get_estimate" title="Link to this definition"></a></dt>
 <dd><p>Estimate of the distinct count of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_union.get_lower_bound">
-<span class="sig-name descname"><span class="pre">get_lower_bound</span></span><a class="headerlink" href="#datasketches.hll_union.get_lower_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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> <span class="sig-return"><span class="sig-return-icon">& [...]
 <dd><p>Returns the approximate lower error bound given the specified number of standard deviations in {1, 2, 3}</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_union.get_result">
-<span class="sig-name descname"><span class="pre">get_result</span></span><a class="headerlink" href="#datasketches.hll_union.get_result" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_result</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tgt_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.tgt_hll_type" title="_datasketches.tgt_hll_type"><span class="pre">_datasketches.tgt_hll [...]
 <dd><p>Returns a sketch of the target type representing the current union state</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_union.get_upper_bound">
-<span class="sig-name descname"><span class="pre">get_upper_bound</span></span><a class="headerlink" href="#datasketches.hll_union.get_upper_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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> <span class="sig-return"><span class="sig-return-icon">& [...]
 <dd><p>Returns the approximate upper error bound given the specified number of standard deviations in {1, 2, 3}</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_union.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.hll_union.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.hll_union.is_empty" title="Link to this definition"></a></dt>
 <dd><p>True if the union is empty, otherwise False</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.hll_union.lg_config_k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">lg_config_k</span></span><a class="headerlink" href="#datasketches.hll_union.lg_config_k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">lg_config_k</span></span><a class="headerlink" href="#datasketches.hll_union.lg_config_k" title="Link to this definition"></a></dt>
 <dd><p>Configured lg_k value for the union</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_union.reset">
-<span class="sig-name descname"><span class="pre">reset</span></span><a class="headerlink" href="#datasketches.hll_union.reset" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">reset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">None</span></span></span><a class="headerlink" href="#datasketches.hll_union.reset" title="Link to this definition"></a></dt>
 <dd><p>Resets the union to the empty state</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_union.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.hll_union.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.hll_sketch" title="_datasketches.hll_sketch"><span class="pre">_datasketches.hll_sketch</span> [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</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> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> < [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> < [...]
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">sketch:</span> <span class="pre">_datasketches.hll_sketch)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
diff --git a/docs/main/distinct_counting/index.html b/docs/main/distinct_counting/index.html
index ce4493d..8af292f 100644
--- a/docs/main/distinct_counting/index.html
+++ b/docs/main/distinct_counting/index.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Distinct Counting &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
diff --git a/docs/main/distinct_counting/theta.html b/docs/main/distinct_counting/theta.html
index a66a2a9..7a78821 100644
--- a/docs/main/distinct_counting/theta.html
+++ b/docs/main/distinct_counting/theta.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Theta Sketch &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -48,49 +48,49 @@
 <li class="toctree-l2"><a class="reference internal" href="cpc.html">Compressed Probabilistic Counting (CPC)</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" href="#">Theta Sketch</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.theta_sketch"><code class="docutils literal notranslate"><span class="pre">theta_sketch</span></code></a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">theta_sketch.get_estimate</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">theta_sketch.get_lower_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.get_seed_hash"><code class="docutils literal notranslate"><span class="pre">theta_sketch.get_seed_hash</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">theta_sketch.get_upper_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">theta_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">theta_sketch.is_estimation_mode</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.is_ordered"><code class="docutils literal notranslate"><span class="pre">theta_sketch.is_ordered</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">theta_sketch.get_estimate()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">theta_sketch.get_lower_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.get_seed_hash"><code class="docutils literal notranslate"><span class="pre">theta_sketch.get_seed_hash()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">theta_sketch.get_upper_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">theta_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">theta_sketch.is_estimation_mode()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.is_ordered"><code class="docutils literal notranslate"><span class="pre">theta_sketch.is_ordered()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">theta_sketch.num_retained</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.theta"><code class="docutils literal notranslate"><span class="pre">theta_sketch.theta</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.theta64"><code class="docutils literal notranslate"><span class="pre">theta_sketch.theta64</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">theta_sketch.to_string</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">theta_sketch.to_string()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.update_theta_sketch"><code class="docutils literal notranslate"><span class="pre">update_theta_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.update_theta_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">update_theta_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_theta_sketch.compact"><code class="docutils literal notranslate"><span class="pre">update_theta_sketch.compact</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_theta_sketch.reset"><code class="docutils literal notranslate"><span class="pre">update_theta_sketch.reset</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_theta_sketch.trim"><code class="docutils literal notranslate"><span class="pre">update_theta_sketch.trim</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_theta_sketch.update"><code class="docutils literal notranslate"><span class="pre">update_theta_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_theta_sketch.compact"><code class="docutils literal notranslate"><span class="pre">update_theta_sketch.compact()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_theta_sketch.reset"><code class="docutils literal notranslate"><span class="pre">update_theta_sketch.reset()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_theta_sketch.trim"><code class="docutils literal notranslate"><span class="pre">update_theta_sketch.trim()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_theta_sketch.update"><code class="docutils literal notranslate"><span class="pre">update_theta_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.compact_theta_sketch"><code class="docutils literal notranslate"><span class="pre">compact_theta_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.compact_theta_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">compact_theta_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.compact_theta_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">compact_theta_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.compact_theta_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">compact_theta_sketch.serialize</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.compact_theta_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">compact_theta_sketch.serialize()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.theta_union"><code class="docutils literal notranslate"><span class="pre">theta_union</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_union.__init__"><code class="docutils literal notranslate"><span class="pre">theta_union.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_union.get_result"><code class="docutils literal notranslate"><span class="pre">theta_union.get_result</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_union.update"><code class="docutils literal notranslate"><span class="pre">theta_union.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_union.get_result"><code class="docutils literal notranslate"><span class="pre">theta_union.get_result()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_union.update"><code class="docutils literal notranslate"><span class="pre">theta_union.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.theta_intersection"><code class="docutils literal notranslate"><span class="pre">theta_intersection</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_intersection.__init__"><code class="docutils literal notranslate"><span class="pre">theta_intersection.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_intersection.get_result"><code class="docutils literal notranslate"><span class="pre">theta_intersection.get_result</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_intersection.has_result"><code class="docutils literal notranslate"><span class="pre">theta_intersection.has_result</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_intersection.update"><code class="docutils literal notranslate"><span class="pre">theta_intersection.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_intersection.get_result"><code class="docutils literal notranslate"><span class="pre">theta_intersection.get_result()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_intersection.has_result"><code class="docutils literal notranslate"><span class="pre">theta_intersection.has_result()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_intersection.update"><code class="docutils literal notranslate"><span class="pre">theta_intersection.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.theta_a_not_b"><code class="docutils literal notranslate"><span class="pre">theta_a_not_b</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_a_not_b.__init__"><code class="docutils literal notranslate"><span class="pre">theta_a_not_b.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_a_not_b.compute"><code class="docutils literal notranslate"><span class="pre">theta_a_not_b.compute</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.theta_a_not_b.compute"><code class="docutils literal notranslate"><span class="pre">theta_a_not_b.compute()</span></code></a></li>
 </ul>
 </li>
 </ul>
@@ -155,71 +155,71 @@ It has better error properties than the HyperLogLog sketch for set operations be
 measures can be computed between theta sketches with the <a class="reference internal" href="../helper/jaccard.html#datasketches.theta_jaccard_similarity" title="datasketches.theta_jaccard_similarity"><code class="xref py py-class docutils literal notranslate"><span class="pre">theta_jaccard_similarity</span></code></a> class.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.theta_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">theta_sketch</span></span><a class="headerlink" href="#datasketches.theta_sketch" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">theta_sketch</span></span><a class="headerlink" href="#datasketches.theta_sketch" title="Link to this definition"></a></dt>
 <dd><p>An abstract base class for theta sketches</p>
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_sketch.get_estimate">
-<span class="sig-name descname"><span class="pre">get_estimate</span></span><a class="headerlink" href="#datasketches.theta_sketch.get_estimate" title="Link to this definition"></a></dt>
+<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">self</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">float</span></span></span><a class="headerlink" href="#datasketches.theta_sketch.get_estimate" title="Link to this definition"></a></dt>
 <dd><p>Estimate of the distinct count of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_sketch.get_lower_bound">
-<span class="sig-name descname"><span class="pre">get_lower_bound</span></span><a class="headerlink" href="#datasketches.theta_sketch.get_lower_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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> <span class="sig-return"><span class="sig-return-icon">& [...]
 <dd><p>Returns an approximate lower bound on the estimate at standard deviations in {1, 2, 3}</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_sketch.get_seed_hash">
-<span class="sig-name descname"><span class="pre">get_seed_hash</span></span><a class="headerlink" href="#datasketches.theta_sketch.get_seed_hash" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_seed_hash</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.theta_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_sketch.get_upper_bound">
-<span class="sig-name descname"><span class="pre">get_upper_bound</span></span><a class="headerlink" href="#datasketches.theta_sketch.get_upper_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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> <span class="sig-return"><span class="sig-return-icon">& [...]
 <dd><p>Returns an approximate upper bound on the estimate at standard deviations in {1, 2, 3}</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.theta_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.theta_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_sketch.is_estimation_mode">
-<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><a class="headerlink" href="#datasketches.theta_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.theta_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
 <dd><p>Returns True if sketch is in estimation mode, otherwise False</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_sketch.is_ordered">
-<span class="sig-name descname"><span class="pre">is_ordered</span></span><a class="headerlink" href="#datasketches.theta_sketch.is_ordered" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_ordered</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.theta_sketch.is_ordered" title="Link to this definition"></a></dt>
 <dd><p>Returns True if the sketch entries are sorted, otherwise False</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.theta_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.theta_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.theta_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of items currently in the sketch</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.theta_sketch.theta">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">theta</span></span><a class="headerlink" href="#datasketches.theta_sketch.theta" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">theta</span></span><a class="headerlink" href="#datasketches.theta_sketch.theta" title="Link to this definition"></a></dt>
 <dd><p>Theta (effective sampling rate) as a fraction from 0 to 1</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.theta_sketch.theta64">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">theta64</span></span><a class="headerlink" href="#datasketches.theta_sketch.theta64" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">theta64</span></span><a class="headerlink" href="#datasketches.theta_sketch.theta64" title="Link to this definition"></a></dt>
 <dd><p>Theta as 64-bit value</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.theta_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">print_items</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><sp [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
@@ -227,7 +227,7 @@ measures can be computed between theta sketches with the <a class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.update_theta_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">update_theta_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class=" [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">update_theta_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span cla [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_theta_sketch.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lg_k</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class= [...]
@@ -243,27 +243,31 @@ measures can be computed between theta sketches with the <a class="reference int
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_theta_sketch.compact">
-<span class="sig-name descname"><span class="pre">compact</span></span><a class="headerlink" href="#datasketches.update_theta_sketch.compact" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">compact</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ordered</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 cla [...]
 <dd><p>Returns a compacted form of the sketch, optionally sorting it</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_theta_sketch.reset">
-<span class="sig-name descname"><span class="pre">reset</span></span><a class="headerlink" href="#datasketches.update_theta_sketch.reset" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">reset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">None</span></span></span><a class="headerlink" href="#datasketches.update_theta_sketch.reset" title="Link to this definition"></a></dt>
 <dd><p>Resets the sketch to the initial empty state</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_theta_sketch.trim">
-<span class="sig-name descname"><span class="pre">trim</span></span><a class="headerlink" href="#datasketches.update_theta_sketch.trim" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">trim</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">None</span></span></span><a class="headerlink" href="#datasketches.update_theta_sketch.trim" title="Link to this definition"></a></dt>
 <dd><p>Removes retained entries in excess of the nominal size k (if any)</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_theta_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.update_theta_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</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> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> < [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> < [...]
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">datum:</span> <span class="pre">int)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -283,7 +287,7 @@ measures can be computed between theta sketches with the <a class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.compact_theta_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">compact_theta_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class= [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">compact_theta_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span cl [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.compact_theta_sketch.deserialize">
@@ -306,9 +310,9 @@ measures can be computed between theta sketches with the <a class="reference int
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.compact_theta_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.compact_theta_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">compress</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  [...]
 <dd><p>Serializes the sketch into a bytes object, optionally compressing the data</p>
 </dd></dl>
 
@@ -316,7 +320,7 @@ measures can be computed between theta sketches with the <a class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.theta_union">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">theta_union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-pare [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">theta_union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig- [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_union.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lg_k</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class= [...]
@@ -332,15 +336,15 @@ measures can be computed between theta sketches with the <a class="reference int
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_union.get_result">
-<span class="sig-name descname"><span class="pre">get_result</span></span><a class="headerlink" href="#datasketches.theta_union.get_result" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_result</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ordered</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  [...]
 <dd><p>Returns the sketch corresponding to the union result</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_union.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.theta_union.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.theta_sketch" title="_datasketches.theta_sketch"><span class="pre">_datasketches.theta_sketch< [...]
 <dd><p>Updates the union with the given sketch</p>
 </dd></dl>
 
@@ -348,7 +352,7 @@ measures can be computed between theta sketches with the <a class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.theta_intersection">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">theta_intersection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="s [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">theta_intersection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span clas [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_intersection.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class= [...]
@@ -360,21 +364,21 @@ measures can be computed between theta sketches with the <a class="reference int
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_intersection.get_result">
-<span class="sig-name descname"><span class="pre">get_result</span></span><a class="headerlink" href="#datasketches.theta_intersection.get_result" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_result</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ordered</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  [...]
 <dd><p>Returns the sketch corresponding to the intersection result</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_intersection.has_result">
-<span class="sig-name descname"><span class="pre">has_result</span></span><a class="headerlink" href="#datasketches.theta_intersection.has_result" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">has_result</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.theta_intersection.has_result" title="Link to this definition"></a></dt>
 <dd><p>Returns True if the intersection has a valid result, otherwise False</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_intersection.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.theta_intersection.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.theta_sketch" title="_datasketches.theta_sketch"><span class="pre">_datasketches.theta_sketch< [...]
 <dd><p>Intersections the provided sketch with the current intersection state</p>
 </dd></dl>
 
@@ -382,7 +386,7 @@ measures can be computed between theta sketches with the <a class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.theta_a_not_b">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">theta_a_not_b</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-pa [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">theta_a_not_b</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="si [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_a_not_b.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class= [...]
@@ -394,9 +398,9 @@ measures can be computed between theta sketches with the <a class="reference int
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_a_not_b.compute">
-<span class="sig-name descname"><span class="pre">compute</span></span><a class="headerlink" href="#datasketches.theta_a_not_b.compute" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">compute</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">a</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.theta_sketch" title="_datasketches.theta_sketch"><span class="pre">_datasketches.theta_sketch</spa [...]
 <dd><p>Returns a sketch with the result of applying the A-not-B operation on the given inputs</p>
 </dd></dl>
 
diff --git a/docs/main/distinct_counting/tuple.html b/docs/main/distinct_counting/tuple.html
index aa619a7..6b42c82 100644
--- a/docs/main/distinct_counting/tuple.html
+++ b/docs/main/distinct_counting/tuple.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Tuple Sketch &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -50,52 +50,52 @@
 <li class="toctree-l2 current"><a class="current reference internal" href="#">Tuple Sketch</a><ul>
 <li class="toctree-l3"><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-l4"><a class="reference internal" href="#datasketches.tuple_sketch.DEFAULT_SEED"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.DEFAULT_SEED</span></code></a></li>
-<li class="toctree-l4"><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-l4"><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-l4"><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-l4"><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-l4"><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-l4"><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-l4"><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>
+<li class="toctree-l4"><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-l4"><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-l4"><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-l4"><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-l4"><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-l4"><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-l4"><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>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.num_retained</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_sketch.theta"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.theta</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_sketch.theta64"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.theta64</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.to_string</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">tuple_sketch.to_string()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.update_tuple_sketch"><code class="docutils literal notranslate"><span class="pre">update_tuple_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.update_tuple_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">update_tuple_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_tuple_sketch.compact"><code class="docutils literal notranslate"><span class="pre">update_tuple_sketch.compact</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_tuple_sketch.filter"><code class="docutils literal notranslate"><span class="pre">update_tuple_sketch.filter</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_tuple_sketch.reset"><code class="docutils literal notranslate"><span class="pre">update_tuple_sketch.reset</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_tuple_sketch.trim"><code class="docutils literal notranslate"><span class="pre">update_tuple_sketch.trim</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_tuple_sketch.update"><code class="docutils literal notranslate"><span class="pre">update_tuple_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_tuple_sketch.compact"><code class="docutils literal notranslate"><span class="pre">update_tuple_sketch.compact()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_tuple_sketch.filter"><code class="docutils literal notranslate"><span class="pre">update_tuple_sketch.filter()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_tuple_sketch.reset"><code class="docutils literal notranslate"><span class="pre">update_tuple_sketch.reset()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_tuple_sketch.trim"><code class="docutils literal notranslate"><span class="pre">update_tuple_sketch.trim()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.update_tuple_sketch.update"><code class="docutils literal notranslate"><span class="pre">update_tuple_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.compact_tuple_sketch"><code class="docutils literal notranslate"><span class="pre">compact_tuple_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.compact_tuple_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">compact_tuple_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.compact_tuple_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">compact_tuple_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.compact_tuple_sketch.filter"><code class="docutils literal notranslate"><span class="pre">compact_tuple_sketch.filter</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.compact_tuple_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">compact_tuple_sketch.serialize</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.compact_tuple_sketch.filter"><code class="docutils literal notranslate"><span class="pre">compact_tuple_sketch.filter()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.compact_tuple_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">compact_tuple_sketch.serialize()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_union"><code class="docutils literal notranslate"><span class="pre">tuple_union</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_union.__init__"><code class="docutils literal notranslate"><span class="pre">tuple_union.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_union.get_result"><code class="docutils literal notranslate"><span class="pre">tuple_union.get_result</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_union.reset"><code class="docutils literal notranslate"><span class="pre">tuple_union.reset</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_union.update"><code class="docutils literal notranslate"><span class="pre">tuple_union.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_union.get_result"><code class="docutils literal notranslate"><span class="pre">tuple_union.get_result()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_union.reset"><code class="docutils literal notranslate"><span class="pre">tuple_union.reset()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_union.update"><code class="docutils literal notranslate"><span class="pre">tuple_union.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_intersection"><code class="docutils literal notranslate"><span class="pre">tuple_intersection</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_intersection.__init__"><code class="docutils literal notranslate"><span class="pre">tuple_intersection.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_intersection.get_result"><code class="docutils literal notranslate"><span class="pre">tuple_intersection.get_result</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_intersection.has_result"><code class="docutils literal notranslate"><span class="pre">tuple_intersection.has_result</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_intersection.update"><code class="docutils literal notranslate"><span class="pre">tuple_intersection.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_intersection.get_result"><code class="docutils literal notranslate"><span class="pre">tuple_intersection.get_result()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_intersection.has_result"><code class="docutils literal notranslate"><span class="pre">tuple_intersection.has_result()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_intersection.update"><code class="docutils literal notranslate"><span class="pre">tuple_intersection.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.tuple_a_not_b"><code class="docutils literal notranslate"><span class="pre">tuple_a_not_b</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_a_not_b.__init__"><code class="docutils literal notranslate"><span class="pre">tuple_a_not_b.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_a_not_b.compute"><code class="docutils literal notranslate"><span class="pre">tuple_a_not_b.compute</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tuple_a_not_b.compute"><code class="docutils literal notranslate"><span class="pre">tuple_a_not_b.compute()</span></code></a></li>
 </ul>
 </li>
 </ul>
@@ -161,76 +161,76 @@ measures can be computed between theta sketches with the <a class="reference int
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.tuple_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><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>
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </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 for tuple sketches.</p>
 <dl class="py attribute">
 <dt class="sig sig-object py" id="datasketches.tuple_sketch.DEFAULT_SEED">
-<span class="sig-name descname"><span class="pre">DEFAULT_SEED</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">9001</span></em><a class="headerlink" href="#datasketches.tuple_sketch.DEFAULT_SEED" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">DEFAULT_SEED</span></span><span class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">9001</span></span><a class="headerlink" href="#datasketches.tuple_sketch.DEFAULT_SEED" title="Link to this definition"></a></dt>
 <dd></dd></dl>
 
-<dl class="py attribute">
+<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><a class="headerlink" href="#datasketches.tuple_sketch.get_estimate" title="Link to this definition"></a></dt>
+<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">self</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">float</span></span></span><a class="headerlink" href="#datasketches.tuple_sketch.get_estimate" title="Link to this definition"></a></dt>
 <dd><p>Estimate of the distinct count of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<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><a class="headerlink" href="#datasketches.tuple_sketch.get_lower_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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> <span class="sig-return"><span class="sig-return-icon">& [...]
 <dd><p>Returns an approximate lower bound on the estimate at standard deviations in {1, 2, 3}</p>
 </dd></dl>
 
-<dl class="py attribute">
+<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><a class="headerlink" href="#datasketches.tuple_sketch.get_seed_hash" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_seed_hash</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></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 attribute">
+<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><a class="headerlink" href="#datasketches.tuple_sketch.get_upper_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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> <span class="sig-return"><span class="sig-return-icon">& [...]
 <dd><p>Returns an approximate upper bound on the estimate at standard deviations in {1, 2, 3}</p>
 </dd></dl>
 
-<dl class="py attribute">
+<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><a class="headerlink" href="#datasketches.tuple_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></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 attribute">
+<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><a class="headerlink" href="#datasketches.tuple_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.tuple_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
 <dd><p>Returns True if sketch is in estimation mode, otherwise False</p>
 </dd></dl>
 
-<dl class="py attribute">
+<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><a class="headerlink" href="#datasketches.tuple_sketch.is_ordered" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_ordered</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></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 sorted, otherwise False</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.tuple_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.tuple_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.tuple_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of items currently in the sketch</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.tuple_sketch.theta">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">theta</span></span><a class="headerlink" href="#datasketches.tuple_sketch.theta" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">theta</span></span><a class="headerlink" href="#datasketches.tuple_sketch.theta" title="Link to this definition"></a></dt>
 <dd><p>Theta (effective sampling rate) as a fraction from 0 to 1</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.tuple_sketch.theta64">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">theta64</span></span><a class="headerlink" href="#datasketches.tuple_sketch.theta64" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">theta64</span></span><a class="headerlink" href="#datasketches.tuple_sketch.theta64" title="Link to this definition"></a></dt>
 <dd><p>Theta as 64-bit value</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.tuple_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">print_items</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><sp [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
@@ -238,7 +238,7 @@ measures can be computed between theta sketches with the <a class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.update_tuple_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">update_tuple_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class=" [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">update_tuple_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span cla [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_tuple_sketch.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">policy</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/tuple_policy.html#datasketches.TuplePolicy" title="_datasketches.TuplePolicy"><span class="pre"> [...]
@@ -255,15 +255,15 @@ measures can be computed between theta sketches with the <a class="reference int
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_tuple_sketch.compact">
-<span class="sig-name descname"><span class="pre">compact</span></span><a class="headerlink" href="#datasketches.update_tuple_sketch.compact" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">compact</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ordered</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 cla [...]
 <dd><p>Returns a compacted form of the sketch, optionally sorting it</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_tuple_sketch.filter">
-<span class="sig-name descname"><span class="pre">filter</span></span><a class="headerlink" href="#datasketches.update_tuple_sketch.filter" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">filter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">predicate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span>< [...]
 <dd><p>Produces a compact_tuple_sketch from the given sketch by applying a predicate to the summary in each entry.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -278,21 +278,25 @@ measures can be computed between theta sketches with the <a class="reference int
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_tuple_sketch.reset">
-<span class="sig-name descname"><span class="pre">reset</span></span><a class="headerlink" href="#datasketches.update_tuple_sketch.reset" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">reset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">None</span></span></span><a class="headerlink" href="#datasketches.update_tuple_sketch.reset" title="Link to this definition"></a></dt>
 <dd><p>Resets the sketch to the initial empty state</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_tuple_sketch.trim">
-<span class="sig-name descname"><span class="pre">trim</span></span><a class="headerlink" href="#datasketches.update_tuple_sketch.trim" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">trim</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">None</span></span></span><a class="headerlink" href="#datasketches.update_tuple_sketch.trim" title="Link to this definition"></a></dt>
 <dd><p>Removes retained entries in excess of the nominal size k (if any)</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_tuple_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.update_tuple_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class= [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span clas [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datum</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class= [...]
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">datum:</span> <span class="pre">int,</span> <span class="pre">value:</span> <span class="pre">object)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -312,7 +316,7 @@ measures can be computed between theta sketches with the <a class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.compact_tuple_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">compact_tuple_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class= [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">compact_tuple_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span cl [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.compact_tuple_sketch.deserialize">
@@ -353,9 +357,9 @@ measures can be computed between theta sketches with the <a class="reference int
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.compact_tuple_sketch.filter">
-<span class="sig-name descname"><span class="pre">filter</span></span><a class="headerlink" href="#datasketches.compact_tuple_sketch.filter" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">filter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">predicate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span>< [...]
 <dd><p>Produces a compact_tuple_sketch from the given sketch by applying a predicate to the summary in each entry.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -370,9 +374,9 @@ measures can be computed between theta sketches with the <a class="reference int
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.compact_tuple_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.compact_tuple_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">serde</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/serde.html#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><span class="pre">_da [...]
 <dd><p>Serializes the sketch into a bytes object</p>
 </dd></dl>
 
@@ -380,7 +384,7 @@ measures can be computed between theta sketches with the <a class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.tuple_union">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">tuple_union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-pare [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">tuple_union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig- [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_union.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">policy</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/tuple_policy.html#datasketches.TuplePolicy" title="_datasketches.TuplePolicy"><span class="pre"> [...]
@@ -397,21 +401,21 @@ measures can be computed between theta sketches with the <a class="reference int
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_union.get_result">
-<span class="sig-name descname"><span class="pre">get_result</span></span><a class="headerlink" href="#datasketches.tuple_union.get_result" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_result</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ordered</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  [...]
 <dd><p>Returns the sketch corresponding to the union result</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_union.reset">
-<span class="sig-name descname"><span class="pre">reset</span></span><a class="headerlink" href="#datasketches.tuple_union.reset" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">reset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">None</span></span></span><a class="headerlink" href="#datasketches.tuple_union.reset" title="Link to this definition"></a></dt>
 <dd><p>Resets the sketch to the initial empty</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_union.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.tuple_union.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.tuple_sketch" title="_datasketches.tuple_sketch"><span class="pre">_datasketches.tuple_sketch< [...]
 <dd><p>Updates the union with the given sketch</p>
 </dd></dl>
 
@@ -419,7 +423,7 @@ measures can be computed between theta sketches with the <a class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.tuple_intersection">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">tuple_intersection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="s [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">tuple_intersection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span clas [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_intersection.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">policy</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/tuple_policy.html#datasketches.TuplePolicy" title="_datasketches.TuplePolicy"><span class="pre"> [...]
@@ -434,21 +438,21 @@ measures can be computed between theta sketches with the <a class="reference int
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_intersection.get_result">
-<span class="sig-name descname"><span class="pre">get_result</span></span><a class="headerlink" href="#datasketches.tuple_intersection.get_result" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_result</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ordered</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  [...]
 <dd><p>Returns the sketch corresponding to the intersection result</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_intersection.has_result">
-<span class="sig-name descname"><span class="pre">has_result</span></span><a class="headerlink" href="#datasketches.tuple_intersection.has_result" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">has_result</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.tuple_intersection.has_result" title="Link to this definition"></a></dt>
 <dd><p>Returns True if the intersection has a valid result, otherwise False</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_intersection.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.tuple_intersection.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.tuple_sketch" title="_datasketches.tuple_sketch"><span class="pre">_datasketches.tuple_sketch< [...]
 <dd><p>Intersects the provided sketch with the current intersection state</p>
 </dd></dl>
 
@@ -456,7 +460,7 @@ measures can be computed between theta sketches with the <a class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.tuple_a_not_b">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">tuple_a_not_b</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-pa [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">tuple_a_not_b</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="si [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_a_not_b.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class= [...]
@@ -468,9 +472,9 @@ measures can be computed between theta sketches with the <a class="reference int
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_a_not_b.compute">
-<span class="sig-name descname"><span class="pre">compute</span></span><a class="headerlink" href="#datasketches.tuple_a_not_b.compute" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">compute</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">a</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.tuple_sketch" title="_datasketches.tuple_sketch"><span class="pre">_datasketches.tuple_sketch</spa [...]
 <dd><p>Returns a sketch with the result of applying the A-not-B operation on the given inputs</p>
 </dd></dl>
 
diff --git a/docs/main/frequency/count_min_sketch.html b/docs/main/frequency/count_min_sketch.html
index 934d24d..cbd2746 100644
--- a/docs/main/frequency/count_min_sketch.html
+++ b/docs/main/frequency/count_min_sketch.html
@@ -8,15 +8,15 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>CountMin Sketch &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
-      <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
+      <script defer="defer" src="https://cdn.jsdelivr.net/npm/mathjax@4/tex-mml-chtml.js"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -57,20 +57,20 @@
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.suggest_num_buckets"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.suggest_num_buckets()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.suggest_num_hashes"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.suggest_num_hashes()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.get_estimate</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.get_lower_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.get_relative_error"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.get_relative_error</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.get_serialized_size_bytes</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.get_upper_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.merge"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.get_estimate()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.get_lower_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.get_relative_error"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.get_relative_error()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.get_serialized_size_bytes()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.get_upper_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.merge"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.num_buckets"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.num_buckets</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.num_hashes"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.num_hashes</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.seed"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.seed</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.to_string</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.to_string()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.total_weight"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.total_weight</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.update"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.count_min_sketch.update"><code class="docutils literal notranslate"><span class="pre">count_min_sketch.update()</span></code></a></li>
 </ul>
 </li>
 </ul>
@@ -126,7 +126,7 @@ to the Frequent Items Sketch, this sketch does not provide a list of
 heavy hitters.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">count_min_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">count_min_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class= [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.deserialize">
@@ -147,9 +147,11 @@ heavy hitters.</p>
 </dd></dl>
 
 <p class="rubric">Non-static Methods:</p>
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.get_estimate">
-<span class="sig-name descname"><span class="pre">get_estimate</span></span><a class="headerlink" href="#datasketches.count_min_sketch.get_estimate" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</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> <span class="sig-return"><span class="sig-return-icon">&#x2192;</sp [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</sp [...]
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">get_estimate(self,</span> <span class="pre">item:</span> <span class="pre">int)</span> <span class="pre">-&gt;</span> <span class="pre">float</span></code></p></li>
@@ -161,9 +163,11 @@ heavy hitters.</p>
 <p>Returns an estimate of the frequency of the provided string</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.get_lower_bound">
-<span class="sig-name descname"><span class="pre">get_lower_bound</span></span><a class="headerlink" href="#datasketches.count_min_sketch.get_lower_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</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> <span class="sig-return"><span class="sig-return-icon">&#x2192;< [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;< [...]
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">get_lower_bound(self,</span> <span class="pre">item:</span> <span class="pre">int)</span> <span class="pre">-&gt;</span> <span class="pre">float</span></code></p></li>
@@ -175,21 +179,23 @@ heavy hitters.</p>
 <p>Returns a lower bound on the estimate for the provided string</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.get_relative_error">
-<span class="sig-name descname"><span class="pre">get_relative_error</span></span><a class="headerlink" href="#datasketches.count_min_sketch.get_relative_error" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_relative_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.count_min_sketch.get_relative_error" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum permissible error for any frequency estimate query</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.get_serialized_size_bytes">
-<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><a class="headerlink" href="#datasketches.count_min_sketch.get_serialized_size_bytes" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.count_min_sketch.get_serialized_size_bytes" title="Link to this defini [...]
 <dd><p>Returns the size in bytes of the serialized image of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.get_upper_bound">
-<span class="sig-name descname"><span class="pre">get_upper_bound</span></span><a class="headerlink" href="#datasketches.count_min_sketch.get_upper_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</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> <span class="sig-return"><span class="sig-return-icon">&#x2192;< [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;< [...]
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">get_upper_bound(self,</span> <span class="pre">item:</span> <span class="pre">int)</span> <span class="pre">-&gt;</span> <span class="pre">float</span></code></p></li>
@@ -201,57 +207,59 @@ heavy hitters.</p>
 <p>Returns an upper bound on the estimate for the provided string</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.count_min_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.count_min_sketch.is_empty" title="Link to this definition"></a></dt>
 <dd><p>Returns True if the sketch has seen no items, otherwise False</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.count_min_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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.count_min_sketch" title="_datasketches.count_min_sketch"><span class="pre">_datasketches.count_m [...]
 <dd><p>Merges the provided other sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.num_buckets">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_buckets</span></span><a class="headerlink" href="#datasketches.count_min_sketch.num_buckets" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_buckets</span></span><a class="headerlink" href="#datasketches.count_min_sketch.num_buckets" title="Link to this definition"></a></dt>
 <dd><p>The configured number of buckets for the sketch</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.num_hashes">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_hashes</span></span><a class="headerlink" href="#datasketches.count_min_sketch.num_hashes" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_hashes</span></span><a class="headerlink" href="#datasketches.count_min_sketch.num_hashes" title="Link to this definition"></a></dt>
 <dd><p>The configured number of hashes for the sketch</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.seed">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">seed</span></span><a class="headerlink" href="#datasketches.count_min_sketch.seed" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">seed</span></span><a class="headerlink" href="#datasketches.count_min_sketch.seed" title="Link to this definition"></a></dt>
 <dd><p>The base hash seed for the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.count_min_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.count_min_sketch.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.count_min_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</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">str</span></span></span><a class="headerlink" href="#datasketches.count_min_sketch.to_string" title="Link to this definition"></a></dt>
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.total_weight">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">total_weight</span></span><a class="headerlink" href="#datasketches.count_min_sketch.total_weight" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">total_weight</span></span><a class="headerlink" href="#datasketches.count_min_sketch.total_weight" title="Link to this definition"></a></dt>
 <dd><p>The total weight currently inserted into the stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.count_min_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">weight</span></span><span class="p"><span class= [...]
+<dt class="sig sig-object py">
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">weight</span></span><span class="p"><span class= [...]
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">item:</span> <span class="pre">int,</span> <span class="pre">weight:</span> <span class="pre">float</span> <span class="pre">=</span> <span class="pre">1.0)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
diff --git a/docs/main/frequency/frequent_items.html b/docs/main/frequency/frequent_items.html
index 77da896..7ee2725 100644
--- a/docs/main/frequency/frequent_items.html
+++ b/docs/main/frequency/frequent_items.html
@@ -8,15 +8,15 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Frequent Items &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
-      <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
+      <script defer="defer" src="https://cdn.jsdelivr.net/npm/mathjax@4/tex-mml-chtml.js"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -62,19 +62,19 @@
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.get_epsilon_for_lg_size"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.get_epsilon_for_lg_size()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.get_apriori_error"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.get_apriori_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.__init__()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.get_estimate()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.get_frequent_items"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.get_frequent_items()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.get_lower_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.get_serialized_size_bytes()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.get_upper_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.merge"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.merge()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.update"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.update()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.epsilon"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.epsilon</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.get_estimate</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.get_frequent_items"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.get_frequent_items</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.get_lower_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.get_serialized_size_bytes</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.get_upper_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.merge"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.merge</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.num_active_items"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.num_active_items</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.to_string</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.total_weight"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.total_weight</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_items_sketch.update"><code class="docutils literal notranslate"><span class="pre">frequent_items_sketch.update</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.frequent_strings_sketch"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch</span></code></a><ul>
@@ -82,19 +82,19 @@
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.get_epsilon_for_lg_size"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.get_epsilon_for_lg_size()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.get_apriori_error"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.get_apriori_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.__init__()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.get_estimate()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.get_frequent_items"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.get_frequent_items()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.get_lower_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.get_serialized_size_bytes()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.get_upper_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.merge"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.merge()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.update"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.update()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.epsilon"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.epsilon</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.get_estimate"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.get_estimate</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.get_frequent_items"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.get_frequent_items</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.get_lower_bound"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.get_lower_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.get_serialized_size_bytes</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.get_upper_bound"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.get_upper_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.merge"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.merge</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.num_active_items"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.num_active_items</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.to_string</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.total_weight"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.total_weight</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.frequent_strings_sketch.update"><code class="docutils literal notranslate"><span class="pre">frequent_strings_sketch.update</span></code></a></li>
 </ul>
 </li>
 </ul>
@@ -200,22 +200,22 @@ only for backwards compatibility.</p>
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.frequent_items_error_type">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">frequent_items_error_type</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">values</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.frequent_items_error_type" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">frequent_items_error_type</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">values</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#datasketches.frequent_items_error_type" title="Link to this definition"> [...]
 <dd><dl class="py attribute">
 <dt class="sig sig-object py" id="datasketches.frequent_items_error_type.NO_FALSE_POSITIVES">
-<span class="sig-name descname"><span class="pre">NO_FALSE_POSITIVES</span></span><em class="property"><span class="w"> </span><span class="pre">:</span> <span class="pre">Returns</span> <span class="pre">only</span> <span class="pre">true</span> <span class="pre">positives</span> <span class="pre">but</span> <span class="pre">may</span> <span class="pre">miss</span> <span class="pre">some</span> <span class="pre">heavy</span> <span class="pre">hitters.</span></em><a class="headerlink" h [...]
+<span class="sig-name descname"><span class="pre">NO_FALSE_POSITIVES</span></span><span class="property"><span class="w"> </span><span class="pre">:</span> <span class="pre">Returns</span> <span class="pre">only</span> <span class="pre">true</span> <span class="pre">positives</span> <span class="pre">but</span> <span class="pre">may</span> <span class="pre">miss</span> <span class="pre">some</span> <span class="pre">heavy</span> <span class="pre">hitters.</span></span><a class="headerlin [...]
 <dd></dd></dl>
 
 <dl class="py attribute">
 <dt class="sig sig-object py" id="datasketches.frequent_items_error_type.NO_FALSE_NEGATIVES">
-<span class="sig-name descname"><span class="pre">NO_FALSE_NEGATIVES</span></span><em class="property"><span class="w"> </span><span class="pre">:</span> <span class="pre">Does</span> <span class="pre">not</span> <span class="pre">miss</span> <span class="pre">any</span> <span class="pre">heavy</span> <span class="pre">hitters</span> <span class="pre">but</span> <span class="pre">may</span> <span class="pre">return</span> <span class="pre">false</span> <span class="pre">positives.</span> [...]
+<span class="sig-name descname"><span class="pre">NO_FALSE_NEGATIVES</span></span><span class="property"><span class="w"> </span><span class="pre">:</span> <span class="pre">Does</span> <span class="pre">not</span> <span class="pre">miss</span> <span class="pre">any</span> <span class="pre">heavy</span> <span class="pre">hitters</span> <span class="pre">but</span> <span class="pre">may</span> <span class="pre">return</span> <span class="pre">false</span> <span class="pre">positives.</spa [...]
 <dd></dd></dl>
 
 </dd></dl>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.frequent_items_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">frequent_items_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">frequent_items_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span c [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_items_sketch.deserialize">
@@ -247,89 +247,89 @@ only for backwards compatibility.</p>
 </dl>
 </dd></dl>
 
-<dl class="py property">
-<dt class="sig sig-object py" id="datasketches.frequent_items_sketch.epsilon">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">epsilon</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.epsilon" title="Link to this definition"></a></dt>
-<dd><p>The epsilon value used by the sketch to compute error</p>
-</dd></dl>
-
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_items_sketch.get_estimate">
-<span class="sig-name descname"><span class="pre">get_estimate</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.get_estimate" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">object</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;< [...]
 <dd><p>Returns the estimate of the weight (frequency) of the given item.
 Note: The true frequency of a item would be the sum of the counts as a result of the two update functions.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_items_sketch.get_frequent_items">
-<span class="sig-name descname"><span class="pre">get_frequent_items</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.get_frequent_items" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_frequent_items</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">err_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.frequent_items_error_type" title="_datasketches.frequent_items_error_type"><span [...]
 <dd></dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_items_sketch.get_lower_bound">
-<span class="sig-name descname"><span class="pre">get_lower_bound</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.get_lower_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">object</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x219 [...]
 <dd><p>Returns the guaranteed lower bound weight (frequency) of the given item.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_items_sketch.get_serialized_size_bytes">
-<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.get_serialized_size_bytes" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">serde</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/serde.html#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><span [...]
 <dd><p>Computes the size needed to serialize the current state of the sketch using the provided serde. This can be expensive since every item needs to be looked at.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_items_sketch.get_upper_bound">
-<span class="sig-name descname"><span class="pre">get_upper_bound</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.get_upper_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">object</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x219 [...]
 <dd><p>Returns the guaranteed upper bound weight (frequency) of the given item.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_items_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.frequent_items_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_items_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.frequent_items_sketch" title="_datasketches.frequent_items_sketch"><span class="pre">_datasketches [...]
 <dd><p>Merges the given sketch into this one</p>
 </dd></dl>
 
-<dl class="py property">
-<dt class="sig sig-object py" id="datasketches.frequent_items_sketch.num_active_items">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_active_items</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.num_active_items" title="Link to this definition"></a></dt>
-<dd><p>The number of active items in the sketch</p>
-</dd></dl>
-
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_items_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">serde</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/serde.html#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><span class="pre">_da [...]
 <dd><p>Serializes the sketch into a bytes object using the provided serde.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_items_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">print_items</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><sp [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.frequent_items_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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">object</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">weight</span></span><span class="p"><span cla [...]
+<dd><p>Updates the sketch with the given string and, optionally, a weight</p>
+</dd></dl>
+
 <dl class="py property">
-<dt class="sig sig-object py" id="datasketches.frequent_items_sketch.total_weight">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">total_weight</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.total_weight" title="Link to this definition"></a></dt>
-<dd><p>The sum of the weights (frequencies) in the stream seen so far by the sketch</p>
+<dt class="sig sig-object py" id="datasketches.frequent_items_sketch.epsilon">
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">epsilon</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.epsilon" title="Link to this definition"></a></dt>
+<dd><p>The epsilon value used by the sketch to compute error</p>
 </dd></dl>
 
-<dl class="py attribute">
-<dt class="sig sig-object py" id="datasketches.frequent_items_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.update" title="Link to this definition"></a></dt>
-<dd><p>Updates the sketch with the given string and, optionally, a weight</p>
+<dl class="py property">
+<dt class="sig sig-object py" id="datasketches.frequent_items_sketch.num_active_items">
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_active_items</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.num_active_items" title="Link to this definition"></a></dt>
+<dd><p>The number of active items in the sketch</p>
+</dd></dl>
+
+<dl class="py property">
+<dt class="sig sig-object py" id="datasketches.frequent_items_sketch.total_weight">
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">total_weight</span></span><a class="headerlink" href="#datasketches.frequent_items_sketch.total_weight" title="Link to this definition"></a></dt>
+<dd><p>The sum of the weights (frequencies) in the stream seen so far by the sketch</p>
 </dd></dl>
 
 </dd></dl>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.frequent_strings_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">frequent_strings_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span cla [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">frequent_strings_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.deserialize">
@@ -361,82 +361,82 @@ Note: The true frequency of a item would be the sum of the counts as a result of
 </dl>
 </dd></dl>
 
-<dl class="py property">
-<dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.epsilon">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">epsilon</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.epsilon" title="Link to this definition"></a></dt>
-<dd><p>The epsilon value used by the sketch to compute error</p>
-</dd></dl>
-
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.get_estimate">
-<span class="sig-name descname"><span class="pre">get_estimate</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.get_estimate" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</sp [...]
 <dd><p>Returns the estimate of the weight (frequency) of the given item.
 Note: The true frequency of a item would be the sum of the counts as a result of the two update functions.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.get_frequent_items">
-<span class="sig-name descname"><span class="pre">get_frequent_items</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.get_frequent_items" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_frequent_items</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">err_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.frequent_items_error_type" title="_datasketches.frequent_items_error_type"><span [...]
 <dd></dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.get_lower_bound">
-<span class="sig-name descname"><span class="pre">get_lower_bound</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.get_lower_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;< [...]
 <dd><p>Returns the guaranteed lower bound weight (frequency) of the given item.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.get_serialized_size_bytes">
-<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.get_serialized_size_bytes" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.get_serialized_size_bytes" title="Link to this [...]
 <dd><p>Computes the size needed to serialize the current state of the sketch. This can be expensive since every item needs to be looked at.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.get_upper_bound">
-<span class="sig-name descname"><span class="pre">get_upper_bound</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.get_upper_bound" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;< [...]
 <dd><p>Returns the guaranteed upper bound weight (frequency) of the given item.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.frequent_strings_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.frequent_strings_sketch" title="_datasketches.frequent_strings_sketch"><span class="pre">_datasket [...]
 <dd><p>Merges the given sketch into this one</p>
 </dd></dl>
 
-<dl class="py property">
-<dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.num_active_items">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_active_items</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.num_active_items" title="Link to this definition"></a></dt>
-<dd><p>The number of active items in the sketch</p>
-</dd></dl>
-
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">print_items</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><sp [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="datasketches.frequent_strings_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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">weight</span></span><span class="p"><span class= [...]
+<dd><p>Updates the sketch with the given string and, optionally, a weight</p>
+</dd></dl>
+
 <dl class="py property">
-<dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.total_weight">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">total_weight</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.total_weight" title="Link to this definition"></a></dt>
-<dd><p>The sum of the weights (frequencies) in the stream seen so far by the sketch</p>
+<dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.epsilon">
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">epsilon</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.epsilon" title="Link to this definition"></a></dt>
+<dd><p>The epsilon value used by the sketch to compute error</p>
 </dd></dl>
 
-<dl class="py attribute">
-<dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.update" title="Link to this definition"></a></dt>
-<dd><p>Updates the sketch with the given string and, optionally, a weight</p>
+<dl class="py property">
+<dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.num_active_items">
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_active_items</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.num_active_items" title="Link to this definition"></a></dt>
+<dd><p>The number of active items in the sketch</p>
+</dd></dl>
+
+<dl class="py property">
+<dt class="sig sig-object py" id="datasketches.frequent_strings_sketch.total_weight">
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">total_weight</span></span><a class="headerlink" href="#datasketches.frequent_strings_sketch.total_weight" title="Link to this definition"></a></dt>
+<dd><p>The sum of the weights (frequencies) in the stream seen so far by the sketch</p>
 </dd></dl>
 
 </dd></dl>
diff --git a/docs/main/frequency/index.html b/docs/main/frequency/index.html
index 1f38065..7ebc1d1 100644
--- a/docs/main/frequency/index.html
+++ b/docs/main/frequency/index.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Frequency Sketches &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
diff --git a/docs/main/genindex.html b/docs/main/genindex.html
index 8c4b453..bffdad1 100644
--- a/docs/main/genindex.html
+++ b/docs/main/genindex.html
@@ -7,14 +7,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Index &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="#" />
     <link rel="search" title="Search" href="search.html" /> 
@@ -201,28 +201,28 @@
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.c">c (ebpps_sketch property)</a>
 </li>
-      <li><a href="distinct_counting/theta.html#datasketches.update_theta_sketch.compact">compact (update_theta_sketch attribute)</a>
+      <li><a href="distinct_counting/theta.html#datasketches.update_theta_sketch.compact">compact() (update_theta_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/tuple.html#datasketches.update_tuple_sketch.compact">(update_tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.update_tuple_sketch.compact">(update_tuple_sketch method)</a>
 </li>
       </ul></li>
       <li><a href="distinct_counting/theta.html#datasketches.compact_theta_sketch">compact_theta_sketch (class in datasketches)</a>
 </li>
       <li><a href="distinct_counting/tuple.html#datasketches.compact_tuple_sketch">compact_tuple_sketch (class in datasketches)</a>
 </li>
-      <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.compress">compress (tdigest_double attribute)</a>
+      <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.compress">compress() (tdigest_double method)</a>
 
       <ul>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.compress">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.compress">(tdigest_float method)</a>
 </li>
       </ul></li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="distinct_counting/theta.html#datasketches.theta_a_not_b.compute">compute (theta_a_not_b attribute)</a>
+      <li><a href="distinct_counting/theta.html#datasketches.theta_a_not_b.compute">compute() (theta_a_not_b method)</a>
 
       <ul>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_a_not_b.compute">(tuple_a_not_b attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_a_not_b.compute">(tuple_a_not_b method)</a>
 </li>
       </ul></li>
       <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch">count_min_sketch (class in _datasketches)</a>
@@ -319,7 +319,7 @@
       </ul></li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="sampling/varopt.html#datasketches.var_opt_sketch.estimate_subset_sum">estimate_subset_sum (var_opt_sketch attribute)</a>
+      <li><a href="sampling/varopt.html#datasketches.var_opt_sketch.estimate_subset_sum">estimate_subset_sum() (var_opt_sketch method)</a>
 </li>
       <li><a href="helper/jaccard.html#datasketches.theta_jaccard_similarity.exactly_equal">exactly_equal() (theta_jaccard_similarity method)</a>
 
@@ -333,10 +333,10 @@
 <h2 id="F">F</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="distinct_counting/tuple.html#datasketches.compact_tuple_sketch.filter">filter (compact_tuple_sketch attribute)</a>
+      <li><a href="distinct_counting/tuple.html#datasketches.compact_tuple_sketch.filter">filter() (compact_tuple_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/tuple.html#datasketches.update_tuple_sketch.filter">(update_tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.update_tuple_sketch.filter">(update_tuple_sketch method)</a>
 </li>
       </ul></li>
       <li><a href="frequency/frequent_items.html#datasketches.frequent_items_error_type">frequent_items_error_type (class in datasketches)</a>
@@ -363,35 +363,35 @@
         <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.get_apriori_error">(frequent_strings_sketch method)</a>
 </li>
       </ul></li>
-      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_cdf">get_cdf (kll_doubles_sketch attribute)</a>
+      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_cdf">get_cdf() (kll_doubles_sketch method)</a>
 
       <ul>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_cdf">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_cdf">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_cdf">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_cdf">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_cdf">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_cdf">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_cdf">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_cdf">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_cdf">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_cdf">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_cdf">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_cdf">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_cdf">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_cdf">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_cdf">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_cdf">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_cdf">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_cdf">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_cdf">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_cdf">(req_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_cdf">(tdigest_double attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_cdf">(tdigest_double method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_cdf">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_cdf">(tdigest_float method)</a>
 </li>
       </ul></li>
-      <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.get_compact_serialization_bytes">get_compact_serialization_bytes (hll_sketch attribute)</a>
+      <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.get_compact_serialization_bytes">get_compact_serialization_bytes() (hll_sketch method)</a>
 </li>
       <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.get_epsilon_for_lg_size">get_epsilon_for_lg_size() (frequent_items_sketch method)</a>
 
@@ -399,106 +399,106 @@
         <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.get_epsilon_for_lg_size">(frequent_strings_sketch method)</a>
 </li>
       </ul></li>
-      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.get_estimate">get_estimate (count_min_sketch attribute)</a>
+      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.get_estimate">get_estimate() (count_min_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.get_estimate">(cpc_sketch attribute)</a>
+        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.get_estimate">(cpc_sketch method)</a>
 </li>
-        <li><a href="vector/density_sketch.html#datasketches.density_sketch.get_estimate">(density_sketch attribute)</a>
+        <li><a href="vector/density_sketch.html#datasketches.density_sketch.get_estimate">(density_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.get_estimate">(frequent_items_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.get_estimate">(frequent_items_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.get_estimate">(frequent_strings_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.get_estimate">(frequent_strings_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.get_estimate">(hll_sketch attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.get_estimate">(hll_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.get_estimate">(hll_union attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.get_estimate">(hll_union method)</a>
 </li>
-        <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.get_estimate">(theta_sketch attribute)</a>
+        <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.get_estimate">(theta_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.get_estimate">(tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.get_estimate">(tuple_sketch method)</a>
 </li>
       </ul></li>
-      <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.get_frequent_items">get_frequent_items (frequent_items_sketch attribute)</a>
+      <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.get_frequent_items">get_frequent_items() (frequent_items_sketch method)</a>
 
       <ul>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.get_frequent_items">(frequent_strings_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.get_frequent_items">(frequent_strings_sketch method)</a>
 </li>
       </ul></li>
-      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.get_lower_bound">get_lower_bound (count_min_sketch attribute)</a>
+      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.get_lower_bound">get_lower_bound() (count_min_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.get_lower_bound">(cpc_sketch attribute)</a>
+        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.get_lower_bound">(cpc_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.get_lower_bound">(frequent_items_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.get_lower_bound">(frequent_items_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.get_lower_bound">(frequent_strings_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.get_lower_bound">(frequent_strings_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.get_lower_bound">(hll_sketch attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.get_lower_bound">(hll_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.get_lower_bound">(hll_union attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.get_lower_bound">(hll_union method)</a>
 </li>
-        <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.get_lower_bound">(theta_sketch attribute)</a>
+        <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.get_lower_bound">(theta_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.get_lower_bound">(tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.get_lower_bound">(tuple_sketch method)</a>
 </li>
       </ul></li>
       <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.get_max_updatable_serialization_bytes">get_max_updatable_serialization_bytes() (hll_sketch method)</a>
 </li>
-      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_max_value">get_max_value (kll_doubles_sketch attribute)</a>
+      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_max_value">get_max_value() (kll_doubles_sketch method)</a>
 
       <ul>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_max_value">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_max_value">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_max_value">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_max_value">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_max_value">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_max_value">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_max_value">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_max_value">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_max_value">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_max_value">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_max_value">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_max_value">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_max_value">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_max_value">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_max_value">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_max_value">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_max_value">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_max_value">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_max_value">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_max_value">(req_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_max_value">(tdigest_double attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_max_value">(tdigest_double method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_max_value">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_max_value">(tdigest_float method)</a>
 </li>
       </ul></li>
-      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_min_value">get_min_value (kll_doubles_sketch attribute)</a>
+      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_min_value">get_min_value() (kll_doubles_sketch method)</a>
 
       <ul>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_min_value">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_min_value">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_min_value">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_min_value">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_min_value">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_min_value">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_min_value">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_min_value">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_min_value">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_min_value">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_min_value">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_min_value">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_min_value">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_min_value">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_min_value">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_min_value">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_min_value">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_min_value">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_min_value">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_min_value">(req_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_min_value">(tdigest_double attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_min_value">(tdigest_double method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_min_value">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_min_value">(tdigest_float method)</a>
 </li>
       </ul></li>
       <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_normalized_rank_error">get_normalized_rank_error() (kll_doubles_sketch method)</a>
@@ -519,130 +519,130 @@
         <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_normalized_rank_error">(quantiles_items_sketch method)</a>
 </li>
       </ul></li>
-      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_pmf">get_pmf (kll_doubles_sketch attribute)</a>
+      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_pmf">get_pmf() (kll_doubles_sketch method)</a>
 
       <ul>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_pmf">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_pmf">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_pmf">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_pmf">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_pmf">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_pmf">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_pmf">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_pmf">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_pmf">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_pmf">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_pmf">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_pmf">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_pmf">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_pmf">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_pmf">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_pmf">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_pmf">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_pmf">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_pmf">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_pmf">(req_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_pmf">(tdigest_double attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_pmf">(tdigest_double method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_pmf">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_pmf">(tdigest_float method)</a>
 </li>
       </ul></li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_quantile">get_quantile (kll_doubles_sketch attribute)</a>
+      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_quantile">get_quantile() (kll_doubles_sketch method)</a>
 
       <ul>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_quantile">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_quantile">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_quantile">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_quantile">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_quantile">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_quantile">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_quantile">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_quantile">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_quantile">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_quantile">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_quantile">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_quantile">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_quantile">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_quantile">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_quantile">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_quantile">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_quantile">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_quantile">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_quantile">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_quantile">(req_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_quantile">(tdigest_double attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_quantile">(tdigest_double method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_quantile">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_quantile">(tdigest_float method)</a>
 </li>
       </ul></li>
-      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_quantiles">get_quantiles (kll_doubles_sketch attribute)</a>
+      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_quantiles">get_quantiles() (kll_doubles_sketch method)</a>
 
       <ul>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_quantiles">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_quantiles">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_quantiles">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_quantiles">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_quantiles">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_quantiles">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_quantiles">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_quantiles">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_quantiles">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_quantiles">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_quantiles">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_quantiles">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_quantiles">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_quantiles">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_quantiles">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_quantiles">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_quantiles">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_quantiles">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_quantiles">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_quantiles">(req_items_sketch method)</a>
 </li>
       </ul></li>
-      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_rank">get_rank (kll_doubles_sketch attribute)</a>
+      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.get_rank">get_rank() (kll_doubles_sketch method)</a>
 
       <ul>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_rank">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.get_rank">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_rank">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.get_rank">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_rank">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.get_rank">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_rank">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.get_rank">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_rank">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.get_rank">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_rank">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.get_rank">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_rank">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.get_rank">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_rank">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_rank">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_rank">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_rank">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_rank">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_rank">(req_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_rank">(tdigest_double attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_rank">(tdigest_double method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_rank">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_rank">(tdigest_float method)</a>
 </li>
       </ul></li>
-      <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_rank_lower_bound">get_rank_lower_bound (req_floats_sketch attribute)</a>
+      <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_rank_lower_bound">get_rank_lower_bound() (req_floats_sketch method)</a>
 
       <ul>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_rank_lower_bound">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_rank_lower_bound">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_rank_lower_bound">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_rank_lower_bound">(req_items_sketch method)</a>
 </li>
       </ul></li>
-      <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_rank_upper_bound">get_rank_upper_bound (req_floats_sketch attribute)</a>
+      <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_rank_upper_bound">get_rank_upper_bound() (req_floats_sketch method)</a>
 
       <ul>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_rank_upper_bound">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.get_rank_upper_bound">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_rank_upper_bound">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_rank_upper_bound">(req_items_sketch method)</a>
 </li>
       </ul></li>
       <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.get_rel_err">get_rel_err() (hll_sketch method)</a>
@@ -651,22 +651,22 @@
         <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.get_rel_err">(hll_union method)</a>
 </li>
       </ul></li>
-      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.get_relative_error">get_relative_error (count_min_sketch attribute)</a>
+      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.get_relative_error">get_relative_error() (count_min_sketch method)</a>
 </li>
-      <li><a href="distinct_counting/cpc.html#datasketches.cpc_union.get_result">get_result (cpc_union attribute)</a>
+      <li><a href="distinct_counting/cpc.html#datasketches.cpc_union.get_result">get_result() (cpc_union method)</a>
 
       <ul>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.get_result">(hll_union attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.get_result">(hll_union method)</a>
 </li>
-        <li><a href="distinct_counting/theta.html#datasketches.theta_intersection.get_result">(theta_intersection attribute)</a>
+        <li><a href="distinct_counting/theta.html#datasketches.theta_intersection.get_result">(theta_intersection method)</a>
 </li>
-        <li><a href="distinct_counting/theta.html#datasketches.theta_union.get_result">(theta_union attribute)</a>
+        <li><a href="distinct_counting/theta.html#datasketches.theta_union.get_result">(theta_union method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_intersection.get_result">(tuple_intersection attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_intersection.get_result">(tuple_intersection method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_union.get_result">(tuple_union attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_union.get_result">(tuple_union method)</a>
 </li>
-        <li><a href="sampling/varopt.html#datasketches.var_opt_union.get_result">(var_opt_union attribute)</a>
+        <li><a href="sampling/varopt.html#datasketches.var_opt_union.get_result">(var_opt_union method)</a>
 </li>
       </ul></li>
       <li><a href="quantiles/req.html#datasketches.req_floats_sketch.get_RSE">get_RSE() (req_floats_sketch method)</a>
@@ -677,56 +677,56 @@
         <li><a href="quantiles/req.html#datasketches.req_items_sketch.get_RSE">(req_items_sketch method)</a>
 </li>
       </ul></li>
-      <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.get_seed_hash">get_seed_hash (theta_sketch attribute)</a>
+      <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.get_seed_hash">get_seed_hash() (theta_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.get_seed_hash">(tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.get_seed_hash">(tuple_sketch method)</a>
 </li>
       </ul></li>
-      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.get_serialized_size_bytes">get_serialized_size_bytes (count_min_sketch attribute)</a>
+      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.get_serialized_size_bytes">get_serialized_size_bytes() (count_min_sketch method)</a>
 
       <ul>
-        <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.get_serialized_size_bytes">(ebpps_sketch attribute)</a>
+        <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.get_serialized_size_bytes">(ebpps_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.get_serialized_size_bytes">(frequent_items_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.get_serialized_size_bytes">(frequent_items_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.get_serialized_size_bytes">(frequent_strings_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.get_serialized_size_bytes">(frequent_strings_sketch method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_serialized_size_bytes">(tdigest_double attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_serialized_size_bytes">(tdigest_double method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_serialized_size_bytes">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_serialized_size_bytes">(tdigest_float method)</a>
 </li>
-        <li><a href="sampling/varopt.html#datasketches.var_opt_sketch.get_serialized_size_bytes">(var_opt_sketch attribute)</a>
+        <li><a href="sampling/varopt.html#datasketches.var_opt_sketch.get_serialized_size_bytes">(var_opt_sketch method)</a>
 </li>
-        <li><a href="sampling/varopt.html#datasketches.var_opt_union.get_serialized_size_bytes">(var_opt_union attribute)</a>
+        <li><a href="sampling/varopt.html#datasketches.var_opt_union.get_serialized_size_bytes">(var_opt_union method)</a>
 </li>
       </ul></li>
       <li><a href="helper/serde.html#datasketches.PyObjectSerDe.get_size">get_size() (PyObjectSerDe method)</a>
 </li>
-      <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_total_weight">get_total_weight (tdigest_double attribute)</a>
+      <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.get_total_weight">get_total_weight() (tdigest_double method)</a>
 
       <ul>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_total_weight">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.get_total_weight">(tdigest_float method)</a>
 </li>
       </ul></li>
-      <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.get_updatable_serialization_bytes">get_updatable_serialization_bytes (hll_sketch attribute)</a>
+      <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.get_updatable_serialization_bytes">get_updatable_serialization_bytes() (hll_sketch method)</a>
 </li>
-      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.get_upper_bound">get_upper_bound (count_min_sketch attribute)</a>
+      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.get_upper_bound">get_upper_bound() (count_min_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.get_upper_bound">(cpc_sketch attribute)</a>
+        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.get_upper_bound">(cpc_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.get_upper_bound">(frequent_items_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.get_upper_bound">(frequent_items_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.get_upper_bound">(frequent_strings_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.get_upper_bound">(frequent_strings_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.get_upper_bound">(hll_sketch attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.get_upper_bound">(hll_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.get_upper_bound">(hll_union attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.get_upper_bound">(hll_union method)</a>
 </li>
-        <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.get_upper_bound">(theta_sketch attribute)</a>
+        <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.get_upper_bound">(theta_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.get_upper_bound">(tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.get_upper_bound">(tuple_sketch method)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -735,10 +735,10 @@
 <h2 id="H">H</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="distinct_counting/theta.html#datasketches.theta_intersection.has_result">has_result (theta_intersection attribute)</a>
+      <li><a href="distinct_counting/theta.html#datasketches.theta_intersection.has_result">has_result() (theta_intersection method)</a>
 
       <ul>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_intersection.has_result">(tuple_intersection attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_intersection.has_result">(tuple_intersection method)</a>
 </li>
       </ul></li>
       <li><a href="distinct_counting/hyper_log_log.html#datasketches.tgt_hll_type.HLL_4">HLL_4 (tgt_hll_type attribute)</a>
@@ -759,102 +759,102 @@
 <h2 id="I">I</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.is_compact">is_compact (hll_sketch attribute)</a>
+      <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.is_compact">is_compact() (hll_sketch method)</a>
 </li>
-      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.is_empty">is_empty (count_min_sketch attribute)</a>
+      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.is_empty">is_empty() (count_min_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.is_empty">(cpc_sketch attribute)</a>
+        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.is_empty">(cpc_sketch method)</a>
 </li>
-        <li><a href="vector/density_sketch.html#datasketches.density_sketch.is_empty">(density_sketch attribute)</a>
+        <li><a href="vector/density_sketch.html#datasketches.density_sketch.is_empty">(density_sketch method)</a>
 </li>
-        <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.is_empty">(ebpps_sketch attribute)</a>
+        <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.is_empty">(ebpps_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.is_empty">(frequent_items_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.is_empty">(frequent_items_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.is_empty">(frequent_strings_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.is_empty">(frequent_strings_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.is_empty">(hll_sketch attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.is_empty">(hll_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.is_empty">(hll_union attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.is_empty">(hll_union method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.is_empty">(kll_doubles_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.is_empty">(kll_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.is_empty">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.is_empty">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.is_empty">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.is_empty">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.is_empty">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.is_empty">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.is_empty">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.is_empty">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.is_empty">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.is_empty">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.is_empty">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.is_empty">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.is_empty">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.is_empty">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.is_empty">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.is_empty">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.is_empty">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.is_empty">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.is_empty">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.is_empty">(req_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.is_empty">(tdigest_double attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.is_empty">(tdigest_double method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.is_empty">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.is_empty">(tdigest_float method)</a>
 </li>
-        <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.is_empty">(theta_sketch attribute)</a>
+        <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.is_empty">(theta_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.is_empty">(tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.is_empty">(tuple_sketch method)</a>
 </li>
-        <li><a href="sampling/varopt.html#datasketches.var_opt_sketch.is_empty">(var_opt_sketch attribute)</a>
+        <li><a href="sampling/varopt.html#datasketches.var_opt_sketch.is_empty">(var_opt_sketch method)</a>
 </li>
       </ul></li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="vector/density_sketch.html#datasketches.density_sketch.is_estimation_mode">is_estimation_mode (density_sketch attribute)</a>
+      <li><a href="vector/density_sketch.html#datasketches.density_sketch.is_estimation_mode">is_estimation_mode() (density_sketch method)</a>
 
       <ul>
-        <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.is_estimation_mode">(kll_doubles_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.is_estimation_mode">(kll_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.is_estimation_mode">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.is_estimation_mode">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.is_estimation_mode">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.is_estimation_mode">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.is_estimation_mode">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.is_estimation_mode">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.is_estimation_mode">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.is_estimation_mode">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.is_estimation_mode">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.is_estimation_mode">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.is_estimation_mode">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.is_estimation_mode">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.is_estimation_mode">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.is_estimation_mode">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.is_estimation_mode">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.is_estimation_mode">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.is_estimation_mode">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.is_estimation_mode">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.is_estimation_mode">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.is_estimation_mode">(req_items_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.is_estimation_mode">(theta_sketch attribute)</a>
+        <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.is_estimation_mode">(theta_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.is_estimation_mode">(tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.is_estimation_mode">(tuple_sketch method)</a>
 </li>
       </ul></li>
-      <li><a href="quantiles/req.html#datasketches.req_floats_sketch.is_hra">is_hra (req_floats_sketch attribute)</a>
+      <li><a href="quantiles/req.html#datasketches.req_floats_sketch.is_hra">is_hra() (req_floats_sketch method)</a>
 
       <ul>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.is_hra">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.is_hra">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.is_hra">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.is_hra">(req_items_sketch method)</a>
 </li>
       </ul></li>
-      <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.is_ordered">is_ordered (theta_sketch attribute)</a>
+      <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.is_ordered">is_ordered() (theta_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.is_ordered">(tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.is_ordered">(tuple_sketch method)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -947,42 +947,42 @@
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="helper/tuple_policy.html#datasketches.MaxIntPolicy">MaxIntPolicy (class in datasketches)</a>
 </li>
-      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.merge">merge (count_min_sketch attribute)</a>
+      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.merge">merge() (count_min_sketch method)</a>
 
       <ul>
-        <li><a href="vector/density_sketch.html#datasketches.density_sketch.merge">(density_sketch attribute)</a>
+        <li><a href="vector/density_sketch.html#datasketches.density_sketch.merge">(density_sketch method)</a>
 </li>
-        <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.merge">(ebpps_sketch attribute)</a>
+        <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.merge">(ebpps_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.merge">(frequent_items_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.merge">(frequent_items_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.merge">(frequent_strings_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.merge">(frequent_strings_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.merge">(kll_doubles_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.merge">(kll_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.merge">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.merge">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.merge">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.merge">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.merge">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.merge">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.merge">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.merge">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.merge">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.merge">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.merge">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.merge">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.merge">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.merge">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.merge">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.merge">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.merge">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.merge">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.merge">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.merge">(req_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.merge">(tdigest_double attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.merge">(tdigest_double method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.merge">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.merge">(tdigest_float method)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -1029,22 +1029,22 @@
 </li>
       <li><a href="frequency/frequent_items.html#datasketches.frequent_items_error_type.NO_FALSE_POSITIVES">NO_FALSE_POSITIVES (frequent_items_error_type attribute)</a>
 </li>
-      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.normalized_rank_error">normalized_rank_error (kll_doubles_sketch attribute)</a>
+      <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.normalized_rank_error">normalized_rank_error() (kll_doubles_sketch method)</a>
 
       <ul>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.normalized_rank_error">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.normalized_rank_error">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.normalized_rank_error">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.normalized_rank_error">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.normalized_rank_error">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.normalized_rank_error">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.normalized_rank_error">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.normalized_rank_error">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.normalized_rank_error">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.normalized_rank_error">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.normalized_rank_error">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.normalized_rank_error">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.normalized_rank_error">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.normalized_rank_error">(quantiles_items_sketch method)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -1139,18 +1139,18 @@
 </li>
       <li><a href="quantiles/req.html#datasketches.req_items_sketch">req_items_sketch (class in datasketches)</a>
 </li>
-      <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.reset">reset (hll_sketch attribute)</a>
+      <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.reset">reset() (hll_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.reset">(hll_union attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.reset">(hll_union method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_union.reset">(tuple_union attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_union.reset">(tuple_union method)</a>
 </li>
-        <li><a href="distinct_counting/theta.html#datasketches.update_theta_sketch.reset">(update_theta_sketch attribute)</a>
+        <li><a href="distinct_counting/theta.html#datasketches.update_theta_sketch.reset">(update_theta_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.update_tuple_sketch.reset">(update_tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.update_tuple_sketch.reset">(update_tuple_sketch method)</a>
 </li>
-        <li><a href="sampling/varopt.html#datasketches.var_opt_union.reset">(var_opt_union attribute)</a>
+        <li><a href="sampling/varopt.html#datasketches.var_opt_union.reset">(var_opt_union method)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -1161,59 +1161,59 @@
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.seed">seed (count_min_sketch property)</a>
 </li>
-      <li><a href="distinct_counting/theta.html#datasketches.compact_theta_sketch.serialize">serialize (compact_theta_sketch attribute)</a>
+      <li><a href="distinct_counting/theta.html#datasketches.compact_theta_sketch.serialize">serialize() (compact_theta_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/tuple.html#datasketches.compact_tuple_sketch.serialize">(compact_tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.compact_tuple_sketch.serialize">(compact_tuple_sketch method)</a>
 </li>
-        <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.serialize">(count_min_sketch attribute)</a>
+        <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.serialize">(count_min_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.serialize">(cpc_sketch attribute)</a>
+        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.serialize">(cpc_sketch method)</a>
 </li>
-        <li><a href="vector/density_sketch.html#datasketches.density_sketch.serialize">(density_sketch attribute)</a>
+        <li><a href="vector/density_sketch.html#datasketches.density_sketch.serialize">(density_sketch method)</a>
 </li>
-        <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.serialize">(ebpps_sketch attribute)</a>
+        <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.serialize">(ebpps_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.serialize">(frequent_items_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.serialize">(frequent_items_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.serialize">(frequent_strings_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.serialize">(frequent_strings_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.serialize">(kll_doubles_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.serialize">(kll_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.serialize">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.serialize">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.serialize">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.serialize">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.serialize">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.serialize">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.serialize">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.serialize">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.serialize">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.serialize">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.serialize">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.serialize">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.serialize">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.serialize">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.serialize">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.serialize">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.serialize">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.serialize">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.serialize">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.serialize">(req_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.serialize">(tdigest_double attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.serialize">(tdigest_double method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.serialize">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.serialize">(tdigest_float method)</a>
 </li>
-        <li><a href="sampling/varopt.html#datasketches.var_opt_sketch.serialize">(var_opt_sketch attribute)</a>
+        <li><a href="sampling/varopt.html#datasketches.var_opt_sketch.serialize">(var_opt_sketch method)</a>
 </li>
-        <li><a href="sampling/varopt.html#datasketches.var_opt_union.serialize">(var_opt_union attribute)</a>
+        <li><a href="sampling/varopt.html#datasketches.var_opt_union.serialize">(var_opt_union method)</a>
 </li>
       </ul></li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.serialize_compact">serialize_compact (hll_sketch attribute)</a>
+      <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.serialize_compact">serialize_compact() (hll_sketch method)</a>
 </li>
-      <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.serialize_updatable">serialize_updatable (hll_sketch attribute)</a>
+      <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.serialize_updatable">serialize_updatable() (hll_sketch method)</a>
 </li>
       <li><a href="helper/jaccard.html#datasketches.theta_jaccard_similarity.similarity_test">similarity_test() (theta_jaccard_similarity method)</a>
 
@@ -1263,54 +1263,54 @@
 </li>
       <li><a href="helper/serde.html#datasketches.PyObjectSerDe.to_bytes">to_bytes() (PyObjectSerDe method)</a>
 </li>
-      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.to_string">to_string (count_min_sketch attribute)</a>
+      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.to_string">to_string() (count_min_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.to_string">(cpc_sketch attribute)</a>
+        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.to_string">(cpc_sketch method)</a>
 </li>
-        <li><a href="vector/density_sketch.html#datasketches.density_sketch.to_string">(density_sketch attribute)</a>
+        <li><a href="vector/density_sketch.html#datasketches.density_sketch.to_string">(density_sketch method)</a>
 </li>
-        <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.to_string">(ebpps_sketch attribute)</a>
+        <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.to_string">(ebpps_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.to_string">(frequent_items_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.to_string">(frequent_items_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.to_string">(frequent_strings_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.to_string">(frequent_strings_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.to_string">(hll_sketch attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.to_string">(hll_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.to_string">(kll_doubles_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.to_string">(kll_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.to_string">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.to_string">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.to_string">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.to_string">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.to_string">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.to_string">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.to_string">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.to_string">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.to_string">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.to_string">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.to_string">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.to_string">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.to_string">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.to_string">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.to_string">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.to_string">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.to_string">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.to_string">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.to_string">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.to_string">(req_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.to_string">(tdigest_double attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.to_string">(tdigest_double method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.to_string">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.to_string">(tdigest_float method)</a>
 </li>
-        <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.to_string">(theta_sketch attribute)</a>
+        <li><a href="distinct_counting/theta.html#datasketches.theta_sketch.to_string">(theta_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.to_string">(tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_sketch.to_string">(tuple_sketch method)</a>
 </li>
-        <li><a href="sampling/varopt.html#datasketches.var_opt_sketch.to_string">(var_opt_sketch attribute)</a>
+        <li><a href="sampling/varopt.html#datasketches.var_opt_sketch.to_string">(var_opt_sketch method)</a>
 </li>
-        <li><a href="sampling/varopt.html#datasketches.var_opt_union.to_string">(var_opt_union attribute)</a>
+        <li><a href="sampling/varopt.html#datasketches.var_opt_union.to_string">(var_opt_union method)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -1323,10 +1323,10 @@
         <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.total_weight">(frequent_strings_sketch property)</a>
 </li>
       </ul></li>
-      <li><a href="distinct_counting/theta.html#datasketches.update_theta_sketch.trim">trim (update_theta_sketch attribute)</a>
+      <li><a href="distinct_counting/theta.html#datasketches.update_theta_sketch.trim">trim() (update_theta_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/tuple.html#datasketches.update_tuple_sketch.trim">(update_tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.update_tuple_sketch.trim">(update_tuple_sketch method)</a>
 </li>
       </ul></li>
       <li><a href="distinct_counting/tuple.html#datasketches.tuple_a_not_b">tuple_a_not_b (class in datasketches)</a>
@@ -1347,66 +1347,66 @@
 <h2 id="U">U</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.update">update (count_min_sketch attribute)</a>
+      <li><a href="frequency/count_min_sketch.html#datasketches.count_min_sketch.update">update() (count_min_sketch method)</a>
 
       <ul>
-        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.update">(cpc_sketch attribute)</a>
+        <li><a href="distinct_counting/cpc.html#datasketches.cpc_sketch.update">(cpc_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/cpc.html#datasketches.cpc_union.update">(cpc_union attribute)</a>
+        <li><a href="distinct_counting/cpc.html#datasketches.cpc_union.update">(cpc_union method)</a>
 </li>
-        <li><a href="vector/density_sketch.html#datasketches.density_sketch.update">(density_sketch attribute)</a>
+        <li><a href="vector/density_sketch.html#datasketches.density_sketch.update">(density_sketch method)</a>
 </li>
-        <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.update">(ebpps_sketch attribute)</a>
+        <li><a href="sampling/ebpps.html#datasketches.ebpps_sketch.update">(ebpps_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.update">(frequent_items_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_items_sketch.update">(frequent_items_sketch method)</a>
 </li>
-        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.update">(frequent_strings_sketch attribute)</a>
+        <li><a href="frequency/frequent_items.html#datasketches.frequent_strings_sketch.update">(frequent_strings_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.update">(hll_sketch attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_sketch.update">(hll_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.update">(hll_union attribute)</a>
+        <li><a href="distinct_counting/hyper_log_log.html#datasketches.hll_union.update">(hll_union method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.update">(kll_doubles_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_doubles_sketch.update">(kll_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.update">(kll_floats_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_floats_sketch.update">(kll_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.update">(kll_ints_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_ints_sketch.update">(kll_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.update">(kll_items_sketch attribute)</a>
+        <li><a href="quantiles/kll.html#datasketches.kll_items_sketch.update">(kll_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.update">(quantiles_doubles_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_doubles_sketch.update">(quantiles_doubles_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.update">(quantiles_floats_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_floats_sketch.update">(quantiles_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.update">(quantiles_ints_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_ints_sketch.update">(quantiles_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.update">(quantiles_items_sketch attribute)</a>
+        <li><a href="quantiles/quantiles_depr.html#datasketches.quantiles_items_sketch.update">(quantiles_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.update">(req_floats_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_floats_sketch.update">(req_floats_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.update">(req_ints_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_ints_sketch.update">(req_ints_sketch method)</a>
 </li>
-        <li><a href="quantiles/req.html#datasketches.req_items_sketch.update">(req_items_sketch attribute)</a>
+        <li><a href="quantiles/req.html#datasketches.req_items_sketch.update">(req_items_sketch method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.update">(tdigest_double attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_double.update">(tdigest_double method)</a>
 </li>
-        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.update">(tdigest_float attribute)</a>
+        <li><a href="quantiles/tdigest.html#datasketches.tdigest_float.update">(tdigest_float method)</a>
 </li>
-        <li><a href="distinct_counting/theta.html#datasketches.theta_intersection.update">(theta_intersection attribute)</a>
+        <li><a href="distinct_counting/theta.html#datasketches.theta_intersection.update">(theta_intersection method)</a>
 </li>
-        <li><a href="distinct_counting/theta.html#datasketches.theta_union.update">(theta_union attribute)</a>
+        <li><a href="distinct_counting/theta.html#datasketches.theta_union.update">(theta_union method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_intersection.update">(tuple_intersection attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_intersection.update">(tuple_intersection method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.tuple_union.update">(tuple_union attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.tuple_union.update">(tuple_union method)</a>
 </li>
-        <li><a href="distinct_counting/theta.html#datasketches.update_theta_sketch.update">(update_theta_sketch attribute)</a>
+        <li><a href="distinct_counting/theta.html#datasketches.update_theta_sketch.update">(update_theta_sketch method)</a>
 </li>
-        <li><a href="distinct_counting/tuple.html#datasketches.update_tuple_sketch.update">(update_tuple_sketch attribute)</a>
+        <li><a href="distinct_counting/tuple.html#datasketches.update_tuple_sketch.update">(update_tuple_sketch method)</a>
 </li>
-        <li><a href="sampling/varopt.html#datasketches.var_opt_sketch.update">(var_opt_sketch attribute)</a>
+        <li><a href="sampling/varopt.html#datasketches.var_opt_sketch.update">(var_opt_sketch method)</a>
 </li>
-        <li><a href="sampling/varopt.html#datasketches.var_opt_union.update">(var_opt_union attribute)</a>
+        <li><a href="sampling/varopt.html#datasketches.var_opt_union.update">(var_opt_union method)</a>
 </li>
       </ul></li>
   </ul></td>
diff --git a/docs/main/helper/index.html b/docs/main/helper/index.html
index dc74ac3..d73d7a2 100644
--- a/docs/main/helper/index.html
+++ b/docs/main/helper/index.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Helper Classes &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
diff --git a/docs/main/helper/jaccard.html b/docs/main/helper/jaccard.html
index d36838a..adb625a 100644
--- a/docs/main/helper/jaccard.html
+++ b/docs/main/helper/jaccard.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Jaccard Similarity &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -116,7 +116,7 @@ of <a class="reference internal" href="../distinct_counting/theta.html#datasketc
 <p>Note that there are separate classes to be used for theta and tuple sketches.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.theta_jaccard_similarity">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">theta_jaccard_similarity</span></span><a class="headerlink" href="#datasketches.theta_jaccard_similarity" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">theta_jaccard_similarity</span></span><a class="headerlink" href="#datasketches.theta_jaccard_similarity" title="Link to this definition"></a></dt>
 <dd><p>An object to help compute Jaccard similarity between theta sketches.</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_jaccard_similarity.jaccard">
@@ -146,7 +146,7 @@ of <a class="reference internal" href="../distinct_counting/theta.html#datasketc
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.tuple_jaccard_similarity">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">tuple_jaccard_similarity</span></span><a class="headerlink" href="#datasketches.tuple_jaccard_similarity" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">tuple_jaccard_similarity</span></span><a class="headerlink" href="#datasketches.tuple_jaccard_similarity" title="Link to this definition"></a></dt>
 <dd><p>An object to help compute Jaccard similarity between tuple sketches.</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_jaccard_similarity.jaccard">
diff --git a/docs/main/helper/kernel.html b/docs/main/helper/kernel.html
index f3a8af8..de68afa 100644
--- a/docs/main/helper/kernel.html
+++ b/docs/main/helper/kernel.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Kernel Function &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -111,7 +111,7 @@ Gaussian (also known as a Radial Basis Function) kernel. Custom classes must ove
 and provide a floating point value as a score indicating the similarity of two input vectors.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.KernelFunction">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">KernelFunction</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-p [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">KernelFunction</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="s [...]
 <dd><p>A generic base class from which user-defined kernels must inherit.</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.KernelFunction.__call__">
@@ -137,7 +137,7 @@ and provide a floating point value as a score indicating the similarity of two i
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.GaussianKernel">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><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="w"> </span><span class="o"><span class="pre">=</span></span>< [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </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="w"> </span><span class="o"><span class="pre">=</span></sp [...]
 <dd><p>Bases: <a class="reference internal" href="#datasketches.KernelFunction" title="_datasketches.KernelFunction"><code class="xref py py-class docutils literal notranslate"><span class="pre">KernelFunction</span></code></a></p>
 <p>Implements a basic Gaussian kernel</p>
 <dl class="field-list simple">
diff --git a/docs/main/helper/ks_test.html b/docs/main/helper/ks_test.html
index 598de34..602517d 100644
--- a/docs/main/helper/ks_test.html
+++ b/docs/main/helper/ks_test.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Kolmogorov-Smirnov Test &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
diff --git a/docs/main/helper/serde.html b/docs/main/helper/serde.html
index 95cfd2e..18f3de0 100644
--- a/docs/main/helper/serde.html
+++ b/docs/main/helper/serde.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Serialize/Deserialize (SerDe) &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -114,7 +114,7 @@ Several example SerDes are provided as references.</p>
 <p>Each implementation must extend the <a class="reference internal" href="#datasketches.PyObjectSerDe" title="datasketches.PyObjectSerDe"><code class="xref py py-class docutils literal notranslate"><span class="pre">PyObjectSerDe</span></code></a> class and override all three of its methods.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.PyObjectSerDe">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PyObjectSerDe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-pa [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">PyObjectSerDe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="si [...]
 <dd><p>An abstract base class for serde objects. All custom serdes must extend this class.</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.PyObjectSerDe.get_size">
@@ -175,7 +175,7 @@ Several example SerDes are provided as references.</p>
 <p>The provided SerDes are:</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.PyStringsSerDe">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PyStringsSerDe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-p [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">PyStringsSerDe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="s [...]
 <dd><p>Bases: <a class="reference internal" href="#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><code class="xref py py-class docutils literal notranslate"><span class="pre">PyObjectSerDe</span></code></a></p>
 <p>Implements a simple string-encoding scheme where a string is
 written as <cite>&lt;num_bytes&gt; &lt;string_contents&gt;</cite>, with no null termination.
@@ -186,7 +186,7 @@ additional storage. Using this format, the serialized string consumes
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.PyIntsSerDe">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PyIntsSerDe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-pare [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">PyIntsSerDe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig- [...]
 <dd><p>Bases: <a class="reference internal" href="#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><code class="xref py py-class docutils literal notranslate"><span class="pre">PyObjectSerDe</span></code></a></p>
 <p>Implements an integer encoding scheme where each integer is written
 as a 32-bit (4 byte) little-endian value.</p>
@@ -194,7 +194,7 @@ as a 32-bit (4 byte) little-endian value.</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.PyLongsSerDe">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PyLongsSerDe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-par [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">PyLongsSerDe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig [...]
 <dd><p>Bases: <a class="reference internal" href="#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><code class="xref py py-class docutils literal notranslate"><span class="pre">PyObjectSerDe</span></code></a></p>
 <p>Implements an integer encoding scheme where each integer is written
 as a 64-bit (8 byte) little-endian value.</p>
@@ -202,7 +202,7 @@ as a 64-bit (8 byte) little-endian value.</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.PyFloatsSerDe">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PyFloatsSerDe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-pa [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">PyFloatsSerDe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="si [...]
 <dd><p>Bases: <a class="reference internal" href="#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><code class="xref py py-class docutils literal notranslate"><span class="pre">PyObjectSerDe</span></code></a></p>
 <p>Implements a floating point encoding scheme where each value is written
 as a 32-bit floating point value.</p>
@@ -210,7 +210,7 @@ as a 32-bit floating point value.</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.PyDoublesSerDe">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PyDoublesSerDe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-p [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">PyDoublesSerDe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="s [...]
 <dd><p>Implements a floating point encoding scheme where each value is written
 as a 64-bit floating point value.</p>
 </dd></dl>
diff --git a/docs/main/helper/tuple_policy.html b/docs/main/helper/tuple_policy.html
index f1e065b..6c38daf 100644
--- a/docs/main/helper/tuple_policy.html
+++ b/docs/main/helper/tuple_policy.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Tuple Policy &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -112,7 +112,7 @@ any python object.</p>
 <p>Each implementation must extend the abstract base class <a class="reference internal" href="#datasketches.TuplePolicy" title="datasketches.TuplePolicy"><code class="xref py py-class docutils literal notranslate"><span class="pre">TuplePolicy</span></code></a>.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.TuplePolicy">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">TuplePolicy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-pare [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">TuplePolicy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig- [...]
 <dd><p>An abstract base class for Tuple Policy objects. All custom policies must extend this class.</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.TuplePolicy.create_summary">
@@ -172,7 +172,7 @@ any python object.</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.AccumulatorPolicy">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AccumulatorPolicy</span></span><a class="headerlink" href="#datasketches.AccumulatorPolicy" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </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><p>Bases: <a class="reference internal" href="#datasketches.TuplePolicy" title="_datasketches.TuplePolicy"><code class="xref py py-class docutils literal notranslate"><span class="pre">TuplePolicy</span></code></a></p>
 <p>Implements an accumulatory summary policy, where new values
 are added to the existing value.</p>
@@ -180,14 +180,14 @@ are added to the existing value.</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.MinIntPolicy">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">MinIntPolicy</span></span><a class="headerlink" href="#datasketches.MinIntPolicy" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </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><p>Bases: <a class="reference internal" href="#datasketches.TuplePolicy" title="_datasketches.TuplePolicy"><code class="xref py py-class docutils literal notranslate"><span class="pre">TuplePolicy</span></code></a></p>
 <p>Implements a MIN rule, where the smallest integer value is always kept.</p>
 </dd></dl>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.MaxIntPolicy">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">MaxIntPolicy</span></span><a class="headerlink" href="#datasketches.MaxIntPolicy" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </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><p>Bases: <a class="reference internal" href="#datasketches.TuplePolicy" title="_datasketches.TuplePolicy"><code class="xref py py-class docutils literal notranslate"><span class="pre">TuplePolicy</span></code></a></p>
 <p>Implements a MAX rule, where the largest integer value is always kept.</p>
 </dd></dl>
diff --git a/docs/main/index.html b/docs/main/index.html
index df3fafa..3af29c9 100644
--- a/docs/main/index.html
+++ b/docs/main/index.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Apache DataSketches &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
diff --git a/docs/main/objects.inv b/docs/main/objects.inv
index 4e57db7..5458476 100644
Binary files a/docs/main/objects.inv and b/docs/main/objects.inv differ
diff --git a/docs/main/quantiles/index.html b/docs/main/quantiles/index.html
index c94ed2e..9cfb9b4 100644
--- a/docs/main/quantiles/index.html
+++ b/docs/main/quantiles/index.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Quantiles Sketches &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
diff --git a/docs/main/quantiles/kll.html b/docs/main/quantiles/kll.html
index d8867ed..02e6480 100644
--- a/docs/main/quantiles/kll.html
+++ b/docs/main/quantiles/kll.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>KLL Sketch &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -52,92 +52,92 @@
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_quantiles</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.is_estimation_mode</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_quantiles()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.is_estimation_mode()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.k"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.merge"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.merge"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.n"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.n</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.normalized_rank_error</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.num_retained</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.update"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_ints_sketch.update"><code class="docutils literal notranslate"><span class="pre">kll_ints_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.kll_floats_sketch"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_quantiles</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.is_estimation_mode</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_quantiles()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.is_estimation_mode()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.k"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.merge"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.merge"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.n"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.n</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.normalized_rank_error</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.num_retained</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.update"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_floats_sketch.update"><code class="docutils literal notranslate"><span class="pre">kll_floats_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.kll_doubles_sketch"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_quantiles</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.is_estimation_mode</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_quantiles()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.is_estimation_mode()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.k"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.merge"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.merge"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.n"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.n</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.normalized_rank_error</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.num_retained</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.update"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_doubles_sketch.update"><code class="docutils literal notranslate"><span class="pre">kll_doubles_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.kll_items_sketch"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_quantiles</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.is_estimation_mode</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_quantiles()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.is_estimation_mode()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.k"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.merge"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.merge"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.n"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.n</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.normalized_rank_error</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.num_retained</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.update"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.kll_items_sketch.update"><code class="docutils literal notranslate"><span class="pre">kll_items_sketch.update()</span></code></a></li>
 </ul>
 </li>
 </ul>
@@ -282,7 +282,7 @@ Additionally, the interval may be quite large for certain distributions.
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">kll_ints_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig- [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">kll_ints_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class=" [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.deserialize">
@@ -311,9 +311,9 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -323,21 +323,21 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, kll_floats_sketch returns nan; kll_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, kll_floats_sketch returns nan; kll_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -347,62 +347,62 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p">< [...]
 <dd><p>Returns an approximation to the data value associated with the given normalized rank in a hypothetical sorted version of the input stream so far.
 For kll_floats_sketch: if the sketch is empty this returns nan. For kll_ints_sketch: if the sketch is empty this throws a RuntimeError.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.get_quantiles">
-<span class="sig-name descname"><span class="pre">get_quantiles</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.get_quantiles" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ranks</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span clas [...]
 <dd><p>This returns an array that could have been generated by using get_quantile() for each normalized rank separately.
 If the sketch is empty this returns an empty vector.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p"><span  [...]
 <dd><p>Returns an approximation to the normalized rank of the given value from 0 to 1, inclusive.
 The resulting approximation has a probabilistic guarantee that can be obtained from the get_normalized_rank_error(False) function.
 With the parameter inclusive=true the weight of the given value is included into the rank.Otherwise the rank equals the sum of the weights of values less than the given value.
 If the sketch is empty this returns nan.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.kll_ints_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.is_estimation_mode">
-<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.kll_ints_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 property">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.kll_ints_sketch" title="_datasketches.kll_ints_sketch"><span class="pre">_datasketches.kll_ints [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The length of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.normalized_rank_error">
-<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.normalized_rank_error" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_pmf</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"> [...]
 <dd><p>Gets the normalized rank error for this sketch.
 If pmf is True, returns the ‘double-sided’ normalized rank error for the get_PMF() function.
 Otherwise, it is the ‘single-sided’ normalized rank error for all the other queries.
@@ -411,25 +411,27 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of retained items (samples) in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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><s [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.kll_ints_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</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> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <s [...]
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">self,</span> <span class="pre">array:</span> <span class="pre">ndarray[dtype=int32]</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">None</span></span></span></dt>
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">item:</span> <span class="pre">int)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -445,7 +447,7 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">kll_floats_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="si [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">kll_floats_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.deserialize">
@@ -474,9 +476,9 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -486,21 +488,21 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, kll_floats_sketch returns nan; kll_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, kll_floats_sketch returns nan; kll_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -510,62 +512,62 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p">< [...]
 <dd><p>Returns an approximation to the data value associated with the given normalized rank in a hypothetical sorted version of the input stream so far.
 For kll_floats_sketch: if the sketch is empty this returns nan. For kll_ints_sketch: if the sketch is empty this throws a RuntimeError.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.get_quantiles">
-<span class="sig-name descname"><span class="pre">get_quantiles</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.get_quantiles" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ranks</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span clas [...]
 <dd><p>This returns an array that could have been generated by using get_quantile() for each normalized rank separately.
 If the sketch is empty this returns an empty vector.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p"><spa [...]
 <dd><p>Returns an approximation to the normalized rank of the given value from 0 to 1, inclusive.
 The resulting approximation has a probabilistic guarantee that can be obtained from the get_normalized_rank_error(False) function.
 With the parameter inclusive=true the weight of the given value is included into the rank.Otherwise the rank equals the sum of the weights of values less than the given value.
 If the sketch is empty this returns nan.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.kll_floats_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.is_estimation_mode">
-<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.kll_floats_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 property">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.kll_floats_sketch" title="_datasketches.kll_floats_sketch"><span class="pre">_datasketches.kll_ [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The length of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.normalized_rank_error">
-<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.normalized_rank_error" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_pmf</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"> [...]
 <dd><p>Gets the normalized rank error for this sketch.
 If pmf is True, returns the ‘double-sided’ normalized rank error for the get_PMF() function.
 Otherwise, it is the ‘single-sided’ normalized rank error for all the other queries.
@@ -574,25 +576,27 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of retained items (samples) in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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><s [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.kll_floats_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span>  [...]
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">self,</span> <span class="pre">array:</span> <span class="pre">ndarray[dtype=float32]</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">None</span></span></span></dt>
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">item:</span> <span class="pre">float)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -608,7 +612,7 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">kll_doubles_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="s [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">kll_doubles_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span clas [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.deserialize">
@@ -637,9 +641,9 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -649,21 +653,21 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, kll_floats_sketch returns nan; kll_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, kll_floats_sketch returns nan; kll_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -673,62 +677,62 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p">< [...]
 <dd><p>Returns an approximation to the data value associated with the given normalized rank in a hypothetical sorted version of the input stream so far.
 For kll_floats_sketch: if the sketch is empty this returns nan. For kll_ints_sketch: if the sketch is empty this throws a RuntimeError.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.get_quantiles">
-<span class="sig-name descname"><span class="pre">get_quantiles</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.get_quantiles" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ranks</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span clas [...]
 <dd><p>This returns an array that could have been generated by using get_quantile() for each normalized rank separately.
 If the sketch is empty this returns an empty vector.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p"><spa [...]
 <dd><p>Returns an approximation to the normalized rank of the given value from 0 to 1, inclusive.
 The resulting approximation has a probabilistic guarantee that can be obtained from the get_normalized_rank_error(False) function.
 With the parameter inclusive=true the weight of the given value is included into the rank.Otherwise the rank equals the sum of the weights of values less than the given value.
 If the sketch is empty this returns nan.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.kll_doubles_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.is_estimation_mode">
-<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.kll_doubles_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 property">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.kll_doubles_sketch" title="_datasketches.kll_doubles_sketch"><span class="pre">_datasketches.kl [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The length of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.normalized_rank_error">
-<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.normalized_rank_error" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_pmf</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"> [...]
 <dd><p>Gets the normalized rank error for this sketch.
 If pmf is True, returns the ‘double-sided’ normalized rank error for the get_PMF() function.
 Otherwise, it is the ‘single-sided’ normalized rank error for all the other queries.
@@ -737,25 +741,27 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of retained items (samples) in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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><s [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.kll_doubles_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span>  [...]
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">self,</span> <span class="pre">array:</span> <span class="pre">ndarray[dtype=float64]</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">None</span></span></span></dt>
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">item:</span> <span class="pre">float)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -771,7 +777,7 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">kll_items_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">kll_items_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class= [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.deserialize">
@@ -800,9 +806,9 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">object</span><span cl [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -812,21 +818,21 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">object</span></span></span><a class="headerlink" href="#datasketches.kll_items_sketch.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, kll_floats_sketch returns nan; kll_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">object</span></span></span><a class="headerlink" href="#datasketches.kll_items_sketch.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, kll_floats_sketch returns nan; kll_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">object</span><span cl [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -836,62 +842,62 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p">< [...]
 <dd><p>Returns an approximation to the data value associated with the given normalized rank in a hypothetical sorted version of the input stream so far.
 For kll_floats_sketch: if the sketch is empty this returns nan. For kll_ints_sketch: if the sketch is empty this throws a RuntimeError.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.get_quantiles">
-<span class="sig-name descname"><span class="pre">get_quantiles</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.get_quantiles" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ranks</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span clas [...]
 <dd><p>This returns an array that could have been generated by using get_quantile() for each normalized rank separately.
 If the sketch is empty this returns an empty vector.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">object</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p"><sp [...]
 <dd><p>Returns an approximation to the normalized rank of the given value from 0 to 1, inclusive.
 The resulting approximation has a probabilistic guarantee that can be obtained from the get_normalized_rank_error(False) function.
 With the parameter inclusive=true the weight of the given value is included into the rank.Otherwise the rank equals the sum of the weights of values less than the given value.
 If the sketch is empty this returns nan.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.kll_items_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.is_estimation_mode">
-<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.kll_items_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 property">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.kll_items_sketch" title="_datasketches.kll_items_sketch"><span class="pre">_datasketches.kll_it [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The length of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.normalized_rank_error">
-<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.normalized_rank_error" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_pmf</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"> [...]
 <dd><p>Gets the normalized rank error for this sketch.
 If pmf is True, returns the ‘double-sided’ normalized rank error for the get_PMF() function.
 Otherwise, it is the ‘single-sided’ normalized rank error for all the other queries.
@@ -900,25 +906,25 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of retained items (samples) in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">serde</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/serde.html#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><span class="pre">_da [...]
 <dd><p>Serializes the sketch into a bytes object using the provided serde.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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><s [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.kll_items_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">object</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> [...]
 <dd><p>Updates the sketch with the given value</p>
 </dd></dl>
 
diff --git a/docs/main/quantiles/quantiles_depr.html b/docs/main/quantiles/quantiles_depr.html
index 9b5605e..ee2a77c 100644
--- a/docs/main/quantiles/quantiles_depr.html
+++ b/docs/main/quantiles/quantiles_depr.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Quantiles Sketch (Deprecated) &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -55,92 +55,92 @@
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_quantiles</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.is_estimation_mode</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_quantiles()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.is_estimation_mode()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.k"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.merge"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.merge"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.n"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.n</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.normalized_rank_error</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.num_retained</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.update"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_ints_sketch.update"><code class="docutils literal notranslate"><span class="pre">quantiles_ints_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.quantiles_floats_sketch"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_quantiles</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.is_estimation_mode</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_quantiles()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.is_estimation_mode()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.k"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.merge"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.merge"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.n"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.n</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.normalized_rank_error</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.num_retained</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.update"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_floats_sketch.update"><code class="docutils literal notranslate"><span class="pre">quantiles_floats_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_quantiles</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.is_estimation_mode</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_quantiles()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.is_estimation_mode()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.k"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.merge"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.merge"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.n"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.n</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.normalized_rank_error</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.num_retained</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.update"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch.update"><code class="docutils literal notranslate"><span class="pre">quantiles_doubles_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.quantiles_items_sketch"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_quantiles</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.is_estimation_mode</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_quantiles()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.is_estimation_mode()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.k"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.merge"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.merge"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.n"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.n</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.normalized_rank_error</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.normalized_rank_error"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.normalized_rank_error()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.num_retained</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.update"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.quantiles_items_sketch.update"><code class="docutils literal notranslate"><span class="pre">quantiles_items_sketch.update()</span></code></a></li>
 </ul>
 </li>
 </ul>
@@ -232,7 +232,7 @@ a confidence of about 99%.</p>
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">quantiles_ints_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">quantiles_ints_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span c [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.deserialize">
@@ -261,9 +261,9 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -272,21 +272,21 @@ The definition of an ‘interval’ is inclusive of the left split point (or min
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, quantiles_floats_sketch returns nan; quantiles_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, quantiles_floats_sketch returns nan; quantiles_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -295,62 +295,62 @@ The definition of an ‘interval’ is inclusive of the left split point (or min
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p">< [...]
 <dd><p>Returns an approximation to the data value associated with the given rank in a hypothetical sorted version of the input stream so far.
 For quantiles_floats_sketch: if the sketch is empty this returns nan. For quantiles_ints_sketch: if the sketch is empty this throws a RuntimeError.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.get_quantiles">
-<span class="sig-name descname"><span class="pre">get_quantiles</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.get_quantiles" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ranks</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span clas [...]
 <dd><p>This returns an array that could have been generated by using get_quantile() for each normalized rank separately.
 If the sketch is empty this returns an empty vector.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p"><span  [...]
 <dd><p>Returns an approximation to the normalized rank of the given value from 0 to 1, inclusive.
 The resulting approximation has a probabilistic guarantee that can be obtained from the get_normalized_rank_error(False) function.
 With the parameter inclusive=true the weight of the given value is included into the rank.Otherwise the rank equals the sum of the weights of values less than the given value.
 If the sketch is empty this returns nan.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.quantiles_ints_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.is_estimation_mode">
-<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.is_estimation_mode" title="Link to this definition">< [...]
 <dd><p>Returns True if the sketch is in estimation mode, otherwise False</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.quantiles_ints_sketch" title="_datasketches.quantiles_ints_sketch"><span class="pre">_datasketc [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The length of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.normalized_rank_error">
-<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.normalized_rank_error" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_pmf</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"> [...]
 <dd><p>Gets the normalized rank error for this sketch.
 If pmf is True, returns the ‘double-sided’ normalized rank error for the get_PMF() function.
 Otherwise, it is the ‘single-sided’ normalized rank error for all the other queries.
@@ -359,25 +359,27 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of retained items (samples) in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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><s [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.quantiles_ints_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</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> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <s [...]
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">self,</span> <span class="pre">array:</span> <span class="pre">ndarray[dtype=int32]</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">None</span></span></span></dt>
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">item:</span> <span class="pre">int)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -393,7 +395,7 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">quantiles_floats_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span cla [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">quantiles_floats_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.deserialize">
@@ -422,9 +424,9 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -433,21 +435,21 @@ The definition of an ‘interval’ is inclusive of the left split point (or min
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, quantiles_floats_sketch returns nan; quantiles_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, quantiles_floats_sketch returns nan; quantiles_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -456,62 +458,62 @@ The definition of an ‘interval’ is inclusive of the left split point (or min
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p">< [...]
 <dd><p>Returns an approximation to the data value associated with the given rank in a hypothetical sorted version of the input stream so far.
 For quantiles_floats_sketch: if the sketch is empty this returns nan. For quantiles_ints_sketch: if the sketch is empty this throws a RuntimeError.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.get_quantiles">
-<span class="sig-name descname"><span class="pre">get_quantiles</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.get_quantiles" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ranks</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span clas [...]
 <dd><p>This returns an array that could have been generated by using get_quantile() for each normalized rank separately.
 If the sketch is empty this returns an empty vector.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p"><spa [...]
 <dd><p>Returns an approximation to the normalized rank of the given value from 0 to 1, inclusive.
 The resulting approximation has a probabilistic guarantee that can be obtained from the get_normalized_rank_error(False) function.
 With the parameter inclusive=true the weight of the given value is included into the rank.Otherwise the rank equals the sum of the weights of values less than the given value.
 If the sketch is empty this returns nan.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.quantiles_floats_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.is_estimation_mode">
-<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.is_estimation_mode" title="Link to this definition"> [...]
 <dd><p>Returns True if the sketch is in estimation mode, otherwise False</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.quantiles_floats_sketch" title="_datasketches.quantiles_floats_sketch"><span class="pre">_datas [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The length of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.normalized_rank_error">
-<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.normalized_rank_error" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_pmf</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"> [...]
 <dd><p>Gets the normalized rank error for this sketch.
 If pmf is True, returns the ‘double-sided’ normalized rank error for the get_PMF() function.
 Otherwise, it is the ‘single-sided’ normalized rank error for all the other queries.
@@ -520,25 +522,27 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of retained items (samples) in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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><s [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.quantiles_floats_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span>  [...]
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">self,</span> <span class="pre">array:</span> <span class="pre">ndarray[dtype=float32]</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">None</span></span></span></dt>
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">item:</span> <span class="pre">float)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -554,7 +558,7 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">quantiles_doubles_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span cl [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">quantiles_doubles_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><spa [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.deserialize">
@@ -583,9 +587,9 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -594,21 +598,21 @@ The definition of an ‘interval’ is inclusive of the left split point (or min
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, quantiles_floats_sketch returns nan; quantiles_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, quantiles_floats_sketch returns nan; quantiles_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -617,62 +621,62 @@ The definition of an ‘interval’ is inclusive of the left split point (or min
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p">< [...]
 <dd><p>Returns an approximation to the data value associated with the given rank in a hypothetical sorted version of the input stream so far.
 For quantiles_floats_sketch: if the sketch is empty this returns nan. For quantiles_ints_sketch: if the sketch is empty this throws a RuntimeError.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.get_quantiles">
-<span class="sig-name descname"><span class="pre">get_quantiles</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.get_quantiles" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ranks</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span clas [...]
 <dd><p>This returns an array that could have been generated by using get_quantile() for each normalized rank separately.
 If the sketch is empty this returns an empty vector.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p"><spa [...]
 <dd><p>Returns an approximation to the normalized rank of the given value from 0 to 1, inclusive.
 The resulting approximation has a probabilistic guarantee that can be obtained from the get_normalized_rank_error(False) function.
 With the parameter inclusive=true the weight of the given value is included into the rank.Otherwise the rank equals the sum of the weights of values less than the given value.
 If the sketch is empty this returns nan.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.quantiles_doubles_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.is_estimation_mode">
-<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.is_estimation_mode" title="Link to this definition" [...]
 <dd><p>Returns True if the sketch is in estimation mode, otherwise False</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.quantiles_doubles_sketch" title="_datasketches.quantiles_doubles_sketch"><span class="pre">_dat [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The length of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.normalized_rank_error">
-<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.normalized_rank_error" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_pmf</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"> [...]
 <dd><p>Gets the normalized rank error for this sketch.
 If pmf is True, returns the ‘double-sided’ normalized rank error for the get_PMF() function.
 Otherwise, it is the ‘single-sided’ normalized rank error for all the other queries.
@@ -681,25 +685,27 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of retained items (samples) in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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><s [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.quantiles_doubles_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span>  [...]
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">self,</span> <span class="pre">array:</span> <span class="pre">ndarray[dtype=float64]</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">None</span></span></span></dt>
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">item:</span> <span class="pre">float)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -715,7 +721,7 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">quantiles_items_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span clas [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">quantiles_items_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span  [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.deserialize">
@@ -744,9 +750,9 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">object</span><span cl [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -755,21 +761,21 @@ The definition of an ‘interval’ is inclusive of the left split point (or min
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">object</span></span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, quantiles_floats_sketch returns nan; quantiles_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">object</span></span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, quantiles_floats_sketch returns nan; quantiles_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">object</span><span cl [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -778,62 +784,62 @@ The definition of an ‘interval’ is inclusive of the left split point (or min
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p">< [...]
 <dd><p>Returns an approximation to the data value associated with the given rank in a hypothetical sorted version of the input stream so far.
 For quantiles_floats_sketch: if the sketch is empty this returns nan. For quantiles_ints_sketch: if the sketch is empty this throws a RuntimeError.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.get_quantiles">
-<span class="sig-name descname"><span class="pre">get_quantiles</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.get_quantiles" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ranks</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span clas [...]
 <dd><p>This returns an array that could have been generated by using get_quantile() for each normalized rank separately.
 If the sketch is empty this returns an empty vector.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">object</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p"><sp [...]
 <dd><p>Returns an approximation to the normalized rank of the given value from 0 to 1, inclusive.
 The resulting approximation has a probabilistic guarantee that can be obtained from the get_normalized_rank_error(False) function.
 With the parameter inclusive=true the weight of the given value is included into the rank.Otherwise the rank equals the sum of the weights of values less than the given value.
 If the sketch is empty this returns nan.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.quantiles_items_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.is_estimation_mode">
-<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.is_estimation_mode" title="Link to this definition"> [...]
 <dd><p>Returns True if the sketch is in estimation mode, otherwise False</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.quantiles_items_sketch" title="_datasketches.quantiles_items_sketch"><span class="pre">_dataske [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The length of the input stream</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.normalized_rank_error">
-<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.normalized_rank_error" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">normalized_rank_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_pmf</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"> [...]
 <dd><p>Gets the normalized rank error for this sketch.
 If pmf is True, returns the ‘double-sided’ normalized rank error for the get_PMF() function.
 Otherwise, it is the ‘single-sided’ normalized rank error for all the other queries.
@@ -842,25 +848,25 @@ Constants were derived as the best fit to 99 percentile empirically measured max
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of retained items (samples) in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">serde</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/serde.html#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><span class="pre">_da [...]
 <dd><p>Serializes the sketch into a bytes object using the provided serde.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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><s [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.quantiles_items_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">object</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> [...]
 <dd><p>Updates the sketch with the given value</p>
 </dd></dl>
 
diff --git a/docs/main/quantiles/req.html b/docs/main/quantiles/req.html
index c81e563..002f5d8 100644
--- a/docs/main/quantiles/req.html
+++ b/docs/main/quantiles/req.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Relative Error Quantiles (REQ) Sketch &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -53,75 +53,75 @@
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_RSE"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_RSE()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_quantiles</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_rank_lower_bound"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_rank_lower_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_rank_upper_bound"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_rank_upper_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.is_estimation_mode</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.is_hra"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.is_hra</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_quantiles()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_rank_lower_bound"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_rank_lower_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.get_rank_upper_bound"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.get_rank_upper_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.is_estimation_mode()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.is_hra"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.is_hra()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.k"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.merge"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.merge"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.n"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.n</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.num_retained</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.update"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_ints_sketch.update"><code class="docutils literal notranslate"><span class="pre">req_ints_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.req_floats_sketch"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_RSE"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_RSE()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_quantiles</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_rank_lower_bound"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_rank_lower_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_rank_upper_bound"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_rank_upper_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.is_estimation_mode</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.is_hra"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.is_hra</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_quantiles()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_rank_lower_bound"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_rank_lower_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.get_rank_upper_bound"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.get_rank_upper_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.is_estimation_mode()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.is_hra"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.is_hra()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.k"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.merge"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.merge"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.n"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.n</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.num_retained</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.update"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_floats_sketch.update"><code class="docutils literal notranslate"><span class="pre">req_floats_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.req_items_sketch"><code class="docutils literal notranslate"><span class="pre">req_items_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_RSE"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_RSE()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_quantiles</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_rank_lower_bound"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_rank_lower_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_rank_upper_bound"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_rank_upper_bound</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.is_empty</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.is_estimation_mode</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.is_hra"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.is_hra</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_cdf"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_max_value"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_min_value"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_pmf"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_quantile"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_quantiles"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_quantiles()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_rank"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_rank_lower_bound"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_rank_lower_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.get_rank_upper_bound"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.get_rank_upper_bound()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.is_empty()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.is_estimation_mode"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.is_estimation_mode()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.is_hra"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.is_hra()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.k"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.merge"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.merge"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.n"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.n</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.num_retained</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.update"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.req_items_sketch.update"><code class="docutils literal notranslate"><span class="pre">req_items_sketch.update()</span></code></a></li>
 </ul>
 </li>
 </ul>
@@ -202,7 +202,7 @@ This is not only useful for debugging, but is a powerful tool to help users unde
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">req_ints_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig- [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">req_ints_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class=" [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.deserialize">
@@ -232,9 +232,9 @@ Normalized rank must be a value between 0.0 and 1.0 (inclusive). If is_hra is Tr
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -244,21 +244,21 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.req_ints_sketch.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, req_floats_sketch returns nan; req_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.req_ints_sketch.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, req_floats_sketch returns nan; req_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -268,100 +268,102 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p">< [...]
 <dd><p>Returns an approximation to the data value associated with the given normalized rank in a hypothetical sorted version of the input stream so far.
 For req_floats_sketch: if the sketch is empty this returns nan. For req_ints_sketch: if the sketch is empty this throws a RuntimeError.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.get_quantiles">
-<span class="sig-name descname"><span class="pre">get_quantiles</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.get_quantiles" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ranks</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span clas [...]
 <dd><p>This returns an array that could have been generated by using get_quantile() for each normalized rank separately.
 If the sketch is empty this returns an empty vector.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p"><span  [...]
 <dd><p>Returns an approximation to the normalized rank of the given value from 0 to 1, inclusive.
 The resulting approximation has a probabilistic guarantee that can be obtained from the get_normalized_rank_error(False) function.
 With the parameter inclusive=true the weight of the given value is included into the rank.Otherwise the rank equals the sum of the weights of values less than the given value.
 If the sketch is empty this returns nan.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.get_rank_lower_bound">
-<span class="sig-name descname"><span class="pre">get_rank_lower_bound</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.get_rank_lower_bound" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank_lower_bound</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_std_dev</span></span><span c [...]
 <dd><p>Returns an approximate lower bound on the given normalized rank.
 Normalized rank must be a value between 0.0 and 1.0 (inclusive); the number of standard deviations must be 1, 2, or 3.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.get_rank_upper_bound">
-<span class="sig-name descname"><span class="pre">get_rank_upper_bound</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.get_rank_upper_bound" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank_upper_bound</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_std_dev</span></span><span c [...]
 <dd><p>Returns an approximate upper bound on the given normalized rank.
 Normalized rank must be a value between 0.0 and 1.0 (inclusive); the number of standard deviations must be 1, 2, or 3.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.req_ints_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.is_estimation_mode">
-<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.req_ints_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.is_hra">
-<span class="sig-name descname"><span class="pre">is_hra</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.is_hra" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_hra</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.req_ints_sketch.is_hra" title="Link to this definition"></a></dt>
 <dd><p>Returns True if the sketch is in High Rank Accuracy mode, otherwise False</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.req_ints_sketch" title="_datasketches.req_ints_sketch"><span class="pre">_datasketches.req_ints [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The length of the input stream</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of retained items (samples) in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.req_ints_sketch.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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><s [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.req_ints_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</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> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <s [...]
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">self,</span> <span class="pre">array:</span> <span class="pre">ndarray[dtype=int32]</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">None</span></span></span></dt>
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">item:</span> <span class="pre">int)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -377,7 +379,7 @@ Normalized rank must be a value between 0.0 and 1.0 (inclusive); the number of s
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">req_floats_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="si [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">req_floats_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.deserialize">
@@ -407,9 +409,9 @@ Normalized rank must be a value between 0.0 and 1.0 (inclusive). If is_hra is Tr
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -419,21 +421,21 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.req_floats_sketch.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, req_floats_sketch returns nan; req_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.req_floats_sketch.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, req_floats_sketch returns nan; req_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -443,100 +445,102 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p">< [...]
 <dd><p>Returns an approximation to the data value associated with the given normalized rank in a hypothetical sorted version of the input stream so far.
 For req_floats_sketch: if the sketch is empty this returns nan. For req_ints_sketch: if the sketch is empty this throws a RuntimeError.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.get_quantiles">
-<span class="sig-name descname"><span class="pre">get_quantiles</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.get_quantiles" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ranks</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span clas [...]
 <dd><p>This returns an array that could have been generated by using get_quantile() for each normalized rank separately.
 If the sketch is empty this returns an empty vector.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p"><spa [...]
 <dd><p>Returns an approximation to the normalized rank of the given value from 0 to 1, inclusive.
 The resulting approximation has a probabilistic guarantee that can be obtained from the get_normalized_rank_error(False) function.
 With the parameter inclusive=true the weight of the given value is included into the rank.Otherwise the rank equals the sum of the weights of values less than the given value.
 If the sketch is empty this returns nan.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.get_rank_lower_bound">
-<span class="sig-name descname"><span class="pre">get_rank_lower_bound</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.get_rank_lower_bound" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank_lower_bound</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_std_dev</span></span><span c [...]
 <dd><p>Returns an approximate lower bound on the given normalized rank.
 Normalized rank must be a value between 0.0 and 1.0 (inclusive); the number of standard deviations must be 1, 2, or 3.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.get_rank_upper_bound">
-<span class="sig-name descname"><span class="pre">get_rank_upper_bound</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.get_rank_upper_bound" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank_upper_bound</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_std_dev</span></span><span c [...]
 <dd><p>Returns an approximate upper bound on the given normalized rank.
 Normalized rank must be a value between 0.0 and 1.0 (inclusive); the number of standard deviations must be 1, 2, or 3.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.req_floats_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.is_estimation_mode">
-<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.req_floats_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.is_hra">
-<span class="sig-name descname"><span class="pre">is_hra</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.is_hra" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_hra</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.req_floats_sketch.is_hra" title="Link to this definition"></a></dt>
 <dd><p>Returns True if the sketch is in High Rank Accuracy mode, otherwise False</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.req_floats_sketch" title="_datasketches.req_floats_sketch"><span class="pre">_datasketches.req_ [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The length of the input stream</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of retained items (samples) in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.req_floats_sketch.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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><s [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.req_floats_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span>  [...]
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">self,</span> <span class="pre">array:</span> <span class="pre">ndarray[dtype=float32]</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">None</span></span></span></dt>
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">item:</span> <span class="pre">float)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -552,7 +556,7 @@ Normalized rank must be a value between 0.0 and 1.0 (inclusive); the number of s
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">req_items_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">req_items_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class= [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.deserialize">
@@ -582,9 +586,9 @@ Normalized rank must be a value between 0.0 and 1.0 (inclusive). If is_hra is Tr
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.req_items_sketch.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">object</span><span cl [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -594,21 +598,21 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.req_items_sketch.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">object</span></span></span><a class="headerlink" href="#datasketches.req_items_sketch.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, req_floats_sketch returns nan; req_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.req_items_sketch.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">object</span></span></span><a class="headerlink" href="#datasketches.req_items_sketch.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, req_floats_sketch returns nan; req_ints_sketch throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.req_items_sketch.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">object</span><span cl [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 The resulting approximations have a probabilistic guarantee that can be obtained from the get_normalized_rank_error(True) function.
 If the sketch is empty this returns an empty vector.
@@ -618,100 +622,100 @@ If the parameter inclusive=true, the definition of an ‘interval’ is exclusiv
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.req_items_sketch.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p">< [...]
 <dd><p>Returns an approximation to the data value associated with the given normalized rank in a hypothetical sorted version of the input stream so far.
 For req_floats_sketch: if the sketch is empty this returns nan. For req_ints_sketch: if the sketch is empty this throws a RuntimeError.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.get_quantiles">
-<span class="sig-name descname"><span class="pre">get_quantiles</span></span><a class="headerlink" href="#datasketches.req_items_sketch.get_quantiles" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ranks</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span clas [...]
 <dd><p>This returns an array that could have been generated by using get_quantile() for each normalized rank separately.
 If the sketch is empty this returns an empty vector.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.req_items_sketch.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">object</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inclusive</span></span><span class="p"><sp [...]
 <dd><p>Returns an approximation to the normalized rank of the given value from 0 to 1, inclusive.
 The resulting approximation has a probabilistic guarantee that can be obtained from the get_normalized_rank_error(False) function.
 With the parameter inclusive=true the weight of the given value is included into the rank.Otherwise the rank equals the sum of the weights of values less than the given value.
 If the sketch is empty this returns nan.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.get_rank_lower_bound">
-<span class="sig-name descname"><span class="pre">get_rank_lower_bound</span></span><a class="headerlink" href="#datasketches.req_items_sketch.get_rank_lower_bound" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank_lower_bound</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_std_dev</span></span><span c [...]
 <dd><p>Returns an approximate lower bound on the given normalized rank.
 Normalized rank must be a value between 0.0 and 1.0 (inclusive); the number of standard deviations must be 1, 2, or 3.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.get_rank_upper_bound">
-<span class="sig-name descname"><span class="pre">get_rank_upper_bound</span></span><a class="headerlink" href="#datasketches.req_items_sketch.get_rank_upper_bound" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank_upper_bound</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_std_dev</span></span><span c [...]
 <dd><p>Returns an approximate upper bound on the given normalized rank.
 Normalized rank must be a value between 0.0 and 1.0 (inclusive); the number of standard deviations must be 1, 2, or 3.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.req_items_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.req_items_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.is_estimation_mode">
-<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><a class="headerlink" href="#datasketches.req_items_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.req_items_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 attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.is_hra">
-<span class="sig-name descname"><span class="pre">is_hra</span></span><a class="headerlink" href="#datasketches.req_items_sketch.is_hra" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_hra</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.req_items_sketch.is_hra" title="Link to this definition"></a></dt>
 <dd><p>Returns True if the sketch is in High Rank Accuracy mode, otherwise False</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.req_items_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.req_items_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.req_items_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.req_items_sketch" title="_datasketches.req_items_sketch"><span class="pre">_datasketches.req_it [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.req_items_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.req_items_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The length of the input stream</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.req_items_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.req_items_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of retained items (samples) in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.req_items_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">serde</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/serde.html#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><span class="pre">_da [...]
 <dd><p>Serializes the sketch into a bytes object using the provided serde.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.req_items_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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><s [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.req_items_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">object</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> [...]
 <dd><p>Updates the sketch with the given value</p>
 </dd></dl>
 
diff --git a/docs/main/quantiles/tdigest.html b/docs/main/quantiles/tdigest.html
index dde4f4b..85b4635 100644
--- a/docs/main/quantiles/tdigest.html
+++ b/docs/main/quantiles/tdigest.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>t-digest &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -53,41 +53,41 @@
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.tdigest_float"><code class="docutils literal notranslate"><span class="pre">tdigest_float</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.deserialize"><code class="docutils literal notranslate"><span class="pre">tdigest_float.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.__init__"><code class="docutils literal notranslate"><span class="pre">tdigest_float.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.compress"><code class="docutils literal notranslate"><span class="pre">tdigest_float.compress</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_cdf"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_max_value"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_min_value"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_pmf"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_quantile"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_rank"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_serialized_size_bytes</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_total_weight"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_total_weight</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.is_empty"><code class="docutils literal notranslate"><span class="pre">tdigest_float.is_empty</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.compress"><code class="docutils literal notranslate"><span class="pre">tdigest_float.compress()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_cdf"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_max_value"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_min_value"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_pmf"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_quantile"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_rank"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_serialized_size_bytes()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.get_total_weight"><code class="docutils literal notranslate"><span class="pre">tdigest_float.get_total_weight()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.is_empty"><code class="docutils literal notranslate"><span class="pre">tdigest_float.is_empty()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.k"><code class="docutils literal notranslate"><span class="pre">tdigest_float.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.merge"><code class="docutils literal notranslate"><span class="pre">tdigest_float.merge</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.serialize"><code class="docutils literal notranslate"><span class="pre">tdigest_float.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.to_string"><code class="docutils literal notranslate"><span class="pre">tdigest_float.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.update"><code class="docutils literal notranslate"><span class="pre">tdigest_float.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.merge"><code class="docutils literal notranslate"><span class="pre">tdigest_float.merge()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.serialize"><code class="docutils literal notranslate"><span class="pre">tdigest_float.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.to_string"><code class="docutils literal notranslate"><span class="pre">tdigest_float.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_float.update"><code class="docutils literal notranslate"><span class="pre">tdigest_float.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.tdigest_double"><code class="docutils literal notranslate"><span class="pre">tdigest_double</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.deserialize"><code class="docutils literal notranslate"><span class="pre">tdigest_double.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.__init__"><code class="docutils literal notranslate"><span class="pre">tdigest_double.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.compress"><code class="docutils literal notranslate"><span class="pre">tdigest_double.compress</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_cdf"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_cdf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_max_value"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_max_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_min_value"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_min_value</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_pmf"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_pmf</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_quantile"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_quantile</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_rank"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_rank</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_serialized_size_bytes</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_total_weight"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_total_weight</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.is_empty"><code class="docutils literal notranslate"><span class="pre">tdigest_double.is_empty</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.compress"><code class="docutils literal notranslate"><span class="pre">tdigest_double.compress()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_cdf"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_cdf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_max_value"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_max_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_min_value"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_min_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_pmf"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_pmf()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_quantile"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_quantile()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_rank"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_rank()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_serialized_size_bytes()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.get_total_weight"><code class="docutils literal notranslate"><span class="pre">tdigest_double.get_total_weight()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.is_empty"><code class="docutils literal notranslate"><span class="pre">tdigest_double.is_empty()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.k"><code class="docutils literal notranslate"><span class="pre">tdigest_double.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.merge"><code class="docutils literal notranslate"><span class="pre">tdigest_double.merge</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.serialize"><code class="docutils literal notranslate"><span class="pre">tdigest_double.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.to_string"><code class="docutils literal notranslate"><span class="pre">tdigest_double.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.update"><code class="docutils literal notranslate"><span class="pre">tdigest_double.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.merge"><code class="docutils literal notranslate"><span class="pre">tdigest_double.merge()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.serialize"><code class="docutils literal notranslate"><span class="pre">tdigest_double.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.to_string"><code class="docutils literal notranslate"><span class="pre">tdigest_double.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.tdigest_double.update"><code class="docutils literal notranslate"><span class="pre">tdigest_double.update()</span></code></a></li>
 </ul>
 </li>
 </ul>
@@ -155,7 +155,7 @@ doing very well close to the extremes. The effect seems to be more pronounced wi
 <p>For more information on the performance characteristics, see <a class="reference external" href="https://datasketches.apache.org/docs/tdigest/tdigest.html">the Datasketches page on t-digest</a>.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.tdigest_float">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">tdigest_float</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-pa [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">tdigest_float</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="si [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.deserialize">
@@ -175,99 +175,101 @@ doing very well close to the extremes. The effect seems to be more pronounced wi
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.compress">
-<span class="sig-name descname"><span class="pre">compress</span></span><a class="headerlink" href="#datasketches.tdigest_float.compress" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">compress</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">None</span></span></span><a class="headerlink" href="#datasketches.tdigest_float.compress" title="Link to this definition"></a></dt>
 <dd><p>Process buffered values and merge centroids, if necesssary</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.tdigest_float.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 If the sketch is empty this returns an empty vector.
 split_points is an array of m unique, monotonically increasing float values that divide the real number line into m+1 consecutive disjoint intervals.
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.tdigest_float.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.tdigest_float.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.tdigest_float.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.tdigest_float.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.tdigest_float.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 If the sketch is empty this returns an empty vector.
 split_points is an array of m unique, monotonically increasing float values that divide the real number line into m+1 consecutive disjoint intervals.
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.tdigest_float.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</ [...]
 <dd><p>Returns an approximation to the data value associated with the given rank in a hypothetical sorted version of the input stream so far.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.tdigest_float.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</spa [...]
 <dd><p>Computes the approximate normalized rank of the given value</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.get_serialized_size_bytes">
-<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><a class="headerlink" href="#datasketches.tdigest_float.get_serialized_size_bytes" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">with_buffer</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 [...]
 <dd><p>Returns the size of the serialized sketch, in bytes</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.get_total_weight">
-<span class="sig-name descname"><span class="pre">get_total_weight</span></span><a class="headerlink" href="#datasketches.tdigest_float.get_total_weight" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_total_weight</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.tdigest_float.get_total_weight" title="Link to this definition"></a></dt>
 <dd><p>The total weight processed by the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.tdigest_float.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.tdigest_float.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 property">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.tdigest_float.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.tdigest_float.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.tdigest_float.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.tdigest_float" title="_datasketches.tdigest_float"><span class="pre">_datasketches.tdigest_floa [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.tdigest_float.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.tdigest_float.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.tdigest_float.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">print_centroids</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 [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_float.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.tdigest_float.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span>  [...]
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">self,</span> <span class="pre">array:</span> <span class="pre">ndarray[dtype=float32]</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">None</span></span></span></dt>
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">item:</span> <span class="pre">float)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
@@ -283,7 +285,7 @@ It is not necessary to include either the min or max values in these split point
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.tdigest_double">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">tdigest_double</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-p [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">tdigest_double</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="s [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.deserialize">
@@ -303,99 +305,101 @@ It is not necessary to include either the min or max values in these split point
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.compress">
-<span class="sig-name descname"><span class="pre">compress</span></span><a class="headerlink" href="#datasketches.tdigest_double.compress" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">compress</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">None</span></span></span><a class="headerlink" href="#datasketches.tdigest_double.compress" title="Link to this definition"></a></dt>
 <dd><p>Process buffered values and merge centroids, if necesssary</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.get_cdf">
-<span class="sig-name descname"><span class="pre">get_cdf</span></span><a class="headerlink" href="#datasketches.tdigest_double.get_cdf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_cdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Cumulative Distribution Function (CDF), which is the cumulative analog of the PMF, of the input stream given a set of split points (values).
 If the sketch is empty this returns an empty vector.
 split_points is an array of m unique, monotonically increasing float values that divide the real number line into m+1 consecutive disjoint intervals.
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.get_max_value">
-<span class="sig-name descname"><span class="pre">get_max_value</span></span><a class="headerlink" href="#datasketches.tdigest_double.get_max_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_max_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.tdigest_double.get_max_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the maximum value from the stream. If empty, throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.get_min_value">
-<span class="sig-name descname"><span class="pre">get_min_value</span></span><a class="headerlink" href="#datasketches.tdigest_double.get_min_value" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_min_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">float</span></span></span><a class="headerlink" href="#datasketches.tdigest_double.get_min_value" title="Link to this definition"></a></dt>
 <dd><p>Returns the minimum value from the stream. If empty, throws a RuntimeError</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.get_pmf">
-<span class="sig-name descname"><span class="pre">get_pmf</span></span><a class="headerlink" href="#datasketches.tdigest_double.get_pmf" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_pmf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span cla [...]
 <dd><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of split points (values).
 If the sketch is empty this returns an empty vector.
 split_points is an array of m unique, monotonically increasing float values that divide the real number line into m+1 consecutive disjoint intervals.
 It is not necessary to include either the min or max values in these split points.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.get_quantile">
-<span class="sig-name descname"><span class="pre">get_quantile</span></span><a class="headerlink" href="#datasketches.tdigest_double.get_quantile" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_quantile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rank</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</ [...]
 <dd><p>Returns an approximation to the data value associated with the given rank in a hypothetical sorted version of the input stream so far.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.get_rank">
-<span class="sig-name descname"><span class="pre">get_rank</span></span><a class="headerlink" href="#datasketches.tdigest_double.get_rank" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_rank</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</spa [...]
 <dd><p>Computes the approximate normalized rank of the given value</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.get_serialized_size_bytes">
-<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><a class="headerlink" href="#datasketches.tdigest_double.get_serialized_size_bytes" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">with_buffer</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 [...]
 <dd><p>Returns the size of the serialized sketch, in bytes</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.get_total_weight">
-<span class="sig-name descname"><span class="pre">get_total_weight</span></span><a class="headerlink" href="#datasketches.tdigest_double.get_total_weight" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_total_weight</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">int</span></span></span><a class="headerlink" href="#datasketches.tdigest_double.get_total_weight" title="Link to this definition"></a></dt>
 <dd><p>The total weight processed by the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.tdigest_double.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.tdigest_double.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 property">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.tdigest_double.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.tdigest_double.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.tdigest_double.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.tdigest_double" title="_datasketches.tdigest_double"><span class="pre">_datasketches.tdigest_do [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.tdigest_double.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></span><a class="headerlink" href="#datasketches.tdigest_double.serialize" title="Link to this definition"></a></dt>
 <dd><p>Serializes the sketch into a bytes object.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.tdigest_double.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">print_centroids</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 [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tdigest_double.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.tdigest_double.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span>  [...]
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">self,</span> <span class="pre">array:</span> <span class="pre">ndarray[dtype=float64]</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">None</span></span></span></dt>
 <dd><p>Overloaded function.</p>
 <ol class="arabic simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">update(self,</span> <span class="pre">item:</span> <span class="pre">float)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p></li>
diff --git a/docs/main/sampling/ebpps.html b/docs/main/sampling/ebpps.html
index 8702d12..bb5d9be 100644
--- a/docs/main/sampling/ebpps.html
+++ b/docs/main/sampling/ebpps.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Exact and Bounded, Probabilitiy Proportional to Size (EBPPS) Sampling &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -62,14 +62,14 @@
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.__init__()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.c"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.c</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.get_serialized_size_bytes</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.is_empty</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.get_serialized_size_bytes()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.is_empty()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.k"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.k</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.merge"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.merge</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.merge"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.merge()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.n"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.n</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.update"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.ebpps_sketch.update"><code class="docutils literal notranslate"><span class="pre">ebpps_sketch.update()</span></code></a></li>
 </ul>
 </li>
 </ul>
@@ -124,7 +124,7 @@ Feeding the sketch items with a uniform weight value will produce a sample equiv
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ebpps_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-par [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">ebpps_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch.deserialize">
@@ -146,55 +146,55 @@ Feeding the sketch items with a uniform weight value will produce a sample equiv
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch.c">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">c</span></span><a class="headerlink" href="#datasketches.ebpps_sketch.c" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">c</span></span><a class="headerlink" href="#datasketches.ebpps_sketch.c" title="Link to this definition"></a></dt>
 <dd><p>The expected number of samples returned upon a call to get_result() or the creation of an iterator. The number is a floating point value, where the fractional portion represents the probability of including a “partial item” from the sample. The value C should be no larger than the sketch’s configured value of k, although numerical precision limitations mean it may exceed k by double precision floating point error margins in certain cases.</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch.get_serialized_size_bytes">
-<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><a class="headerlink" href="#datasketches.ebpps_sketch.get_serialized_size_bytes" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">serde</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/serde.html#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><span [...]
 <dd><p>Computes the size in bytes needed to serialize the current sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.ebpps_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.ebpps_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 property">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.ebpps_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.ebpps_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The sketch’s maximum configured sample size</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch.merge">
-<span class="sig-name descname"><span class="pre">merge</span></span><a class="headerlink" href="#datasketches.ebpps_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.ebpps_sketch" title="_datasketches.ebpps_sketch"><span class="pre">_datasketches.ebpps_sketch</ [...]
 <dd><p>Merges the sketch with the given sketch</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.ebpps_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.ebpps_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The total stream length</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.ebpps_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">serde</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/serde.html#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><span class="pre">_da [...]
 <dd><p>Serializes the sketch into a bytes object</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.ebpps_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">print_items</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><sp [...]
 <dd><p>Produces a string summary of the sketch and optionally prints the items</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.ebpps_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">object</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">weight</span></span><span class="p"><span cla [...]
 <dd><p>Updates the sketch with the given value and weight</p>
 </dd></dl>
 
diff --git a/docs/main/sampling/index.html b/docs/main/sampling/index.html
index 8bb6435..47d5bb2 100644
--- a/docs/main/sampling/index.html
+++ b/docs/main/sampling/index.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Random Sampling Sketches &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
diff --git a/docs/main/sampling/varopt.html b/docs/main/sampling/varopt.html
index 6a98836..f03bd7a 100644
--- a/docs/main/sampling/varopt.html
+++ b/docs/main/sampling/varopt.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Variance Optimal Sampling (VarOpt) &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -60,26 +60,26 @@
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.var_opt_sketch"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.deserialize"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.estimate_subset_sum"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.estimate_subset_sum</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.get_serialized_size_bytes</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.is_empty</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.estimate_subset_sum"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.estimate_subset_sum()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.get_serialized_size_bytes()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.is_empty"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.is_empty()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.k"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.k</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.n"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.n</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.num_samples"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.num_samples</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.update"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.serialize"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.to_string"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_sketch.update"><code class="docutils literal notranslate"><span class="pre">var_opt_sketch.update()</span></code></a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#datasketches.var_opt_union"><code class="docutils literal notranslate"><span class="pre">var_opt_union</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.deserialize"><code class="docutils literal notranslate"><span class="pre">var_opt_union.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.__init__"><code class="docutils literal notranslate"><span class="pre">var_opt_union.__init__()</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.get_result"><code class="docutils literal notranslate"><span class="pre">var_opt_union.get_result</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">var_opt_union.get_serialized_size_bytes</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.reset"><code class="docutils literal notranslate"><span class="pre">var_opt_union.reset</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.serialize"><code class="docutils literal notranslate"><span class="pre">var_opt_union.serialize</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.to_string"><code class="docutils literal notranslate"><span class="pre">var_opt_union.to_string</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.update"><code class="docutils literal notranslate"><span class="pre">var_opt_union.update</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.get_result"><code class="docutils literal notranslate"><span class="pre">var_opt_union.get_result()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.get_serialized_size_bytes"><code class="docutils literal notranslate"><span class="pre">var_opt_union.get_serialized_size_bytes()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.reset"><code class="docutils literal notranslate"><span class="pre">var_opt_union.reset()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.serialize"><code class="docutils literal notranslate"><span class="pre">var_opt_union.serialize()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.to_string"><code class="docutils literal notranslate"><span class="pre">var_opt_union.to_string()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datasketches.var_opt_union.update"><code class="docutils literal notranslate"><span class="pre">var_opt_union.update()</span></code></a></li>
 </ul>
 </li>
 </ul>
@@ -132,7 +132,7 @@ Feeding the sketch items with a uniform weight value will produce a sample equiv
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">var_opt_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-p [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">var_opt_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="s [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch.deserialize">
@@ -152,57 +152,57 @@ Feeding the sketch items with a uniform weight value will produce a sample equiv
 </dl>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch.estimate_subset_sum">
-<span class="sig-name descname"><span class="pre">estimate_subset_sum</span></span><a class="headerlink" href="#datasketches.var_opt_sketch.estimate_subset_sum" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">estimate_subset_sum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">predicate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="p [...]
 <dd><p>Applies a provided predicate to the sketch and returns the estimated total weight matching the predicate, as well as upper and lower bounds on the estimate and the total weight processed by the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch.get_serialized_size_bytes">
-<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><a class="headerlink" href="#datasketches.var_opt_sketch.get_serialized_size_bytes" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">serde</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/serde.html#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><span [...]
 <dd><p>Computes the size in bytes needed to serialize the current sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch.is_empty">
-<span class="sig-name descname"><span class="pre">is_empty</span></span><a class="headerlink" href="#datasketches.var_opt_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></span><a class="headerlink" href="#datasketches.var_opt_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 property">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.var_opt_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.var_opt_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>Returns the sketch’s maximum configured sample size</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.var_opt_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.var_opt_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>Returns the total stream length</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch.num_samples">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_samples</span></span><a class="headerlink" href="#datasketches.var_opt_sketch.num_samples" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_samples</span></span><a class="headerlink" href="#datasketches.var_opt_sketch.num_samples" title="Link to this definition"></a></dt>
 <dd><p>Returns the number of samples currently in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.var_opt_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">serde</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/serde.html#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><span class="pre">_da [...]
 <dd><p>Serializes the sketch into a bytes object</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.var_opt_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">print_items</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><sp [...]
 <dd><p>Produces a string summary of the sketch and optionally prints the items</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.var_opt_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">item</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">object</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">weight</span></span><span class="p"><span cla [...]
 <dd><p>Updates the sketch with the given value and weight</p>
 </dd></dl>
 
@@ -210,7 +210,7 @@ Feeding the sketch items with a uniform weight value will produce a sample equiv
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.var_opt_union">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">var_opt_union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-pa [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">var_opt_union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="si [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_union.deserialize">
@@ -224,39 +224,39 @@ Feeding the sketch items with a uniform weight value will produce a sample equiv
 <span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_k</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> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> [...]
 <dd></dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_union.get_result">
-<span class="sig-name descname"><span class="pre">get_result</span></span><a class="headerlink" href="#datasketches.var_opt_union.get_result" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_result</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference internal" href="#datasketches.var_opt_sketch" title="_datasketches.var_opt_sketch"><span class="pre">_datasketches.var_opt_sketch</span></a></span></ [...]
 <dd><p>Returns a sketch corresponding to the union result</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_union.get_serialized_size_bytes">
-<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><a class="headerlink" href="#datasketches.var_opt_union.get_serialized_size_bytes" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">get_serialized_size_bytes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">serde</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/serde.html#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><span [...]
 <dd><p>Computes the size in bytes needed to serialize the current union</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_union.reset">
-<span class="sig-name descname"><span class="pre">reset</span></span><a class="headerlink" href="#datasketches.var_opt_union.reset" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">reset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">None</span></span></span><a class="headerlink" href="#datasketches.var_opt_union.reset" title="Link to this definition"></a></dt>
 <dd><p>Resets the union to the empty state</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_union.serialize">
-<span class="sig-name descname"><span class="pre">serialize</span></span><a class="headerlink" href="#datasketches.var_opt_union.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">serde</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../helper/serde.html#datasketches.PyObjectSerDe" title="_datasketches.PyObjectSerDe"><span class="pre">_da [...]
 <dd><p>Serializes the union into a bytes object with the provided serde</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_union.to_string">
-<span class="sig-name descname"><span class="pre">to_string</span></span><a class="headerlink" href="#datasketches.var_opt_union.to_string" title="Link to this definition"></a></dt>
+<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">self</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">str</span></span></span><a class="headerlink" href="#datasketches.var_opt_union.to_string" title="Link to this definition"></a></dt>
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_union.update">
-<span class="sig-name descname"><span class="pre">update</span></span><a class="headerlink" href="#datasketches.var_opt_union.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#datasketches.var_opt_sketch" title="_datasketches.var_opt_sketch"><span class="pre">_datasketches.var_opt_s [...]
 <dd><p>Updates the union with the given sketch</p>
 </dd></dl>
 
diff --git a/docs/main/search.html b/docs/main/search.html
index d26add3..8a543ab 100644
--- a/docs/main/search.html
+++ b/docs/main/search.html
@@ -7,15 +7,15 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Search &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=9edc463e" />
 
   
     
       <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=9bcbadda"></script>
-      <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="_static/js/theme.js"></script>
     <script src="_static/searchtools.js"></script>
     <script src="_static/language_data.js"></script>
diff --git a/docs/main/searchindex.js b/docs/main/searchindex.js
index e004661..8549fb9 100644
--- a/docs/main/searchindex.js
+++ b/docs/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"Apache DataSketches":[[14,null]],"Compressed Probabilistic Counting (CPC)":[[0,null]],"CountMin Sketch":[[5,null]],"Counting Distincts":[[14,"counting-distincts"]],"Density Sketch":[[23,null]],"Distinct Counting":[[2,null]],"Exact and Bounded, Probabilitiy Proportional to Size (EBPPS) Sampling":[[20,null]],"Frequency Sketches":[[7,null],[14,"frequency-sketches"]],"Frequent Items":[[6,null]],"Helper Classes":[[8,null],[14,"helper-classes"]],"HyperLogLog (HLL [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"Apache DataSketches":[[14,null]],"Compressed Probabilistic Counting (CPC)":[[0,null]],"CountMin Sketch":[[5,null]],"Counting Distincts":[[14,"counting-distincts"]],"Density Sketch":[[23,null]],"Distinct Counting":[[2,null]],"Exact and Bounded, Probabilitiy Proportional to Size (EBPPS) Sampling":[[20,null]],"Frequency Sketches":[[7,null],[14,"frequency-sketches"]],"Frequent Items":[[6,null]],"Helper Classes":[[8,null],[14,"helper-classes"]],"HyperLogLog (HLL [...]
\ No newline at end of file
diff --git a/docs/main/vector/density_sketch.html b/docs/main/vector/density_sketch.html
index 3344570..d91512b 100644
--- a/docs/main/vector/density_sketch.html
+++ b/docs/main/vector/density_sketch.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Density Sketch &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -58,16 +58,16 @@
 <li class="toctree-l4"><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-l4"><a class="reference internal" href="#datasketches.density_sketch.__init__"><code class="docutils literal notranslate"><span class="pre">density_sketch.__init__()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.density_sketch.dim"><code class="docutils literal notranslate"><span class="pre">density_sketch.dim</span></code></a></li>
-<li class="toctree-l4"><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-l4"><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-l4"><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-l4"><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-l4"><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-l4"><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-l4"><a class="reference internal" href="#datasketches.density_sketch.k"><code class="docutils literal notranslate"><span class="pre">density_sketch.k</span></code></a></li>
-<li class="toctree-l4"><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-l4"><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-l4"><a class="reference internal" href="#datasketches.density_sketch.n"><code class="docutils literal notranslate"><span class="pre">density_sketch.n</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#datasketches.density_sketch.num_retained"><code class="docutils literal notranslate"><span class="pre">density_sketch.num_retained</span></code></a></li>
-<li class="toctree-l4"><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-l4"><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-l4"><a class="reference internal" href="#datasketches.density_sketch.update"><code class="docutils literal notranslate"><span class="pre">density_sketch.update</span></code></a></li>
+<li class="toctree-l4"><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-l4"><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-l4"><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>
 </ul>
@@ -118,7 +118,7 @@ Provides density estimate at a given point.</p>
 <p>Requires the use of a <a class="reference internal" href="../helper/kernel.html#datasketches.KernelFunction" title="datasketches.KernelFunction"><code class="xref py py-class docutils literal notranslate"><span class="pre">KernelFunction</span></code></a> to compute the distance between two vectors.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.density_sketch">
-<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">density_sketch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-p [...]
+<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </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="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="s [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.density_sketch.deserialize">
@@ -144,67 +144,67 @@ Provides density estimate at a given point.</p>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.density_sketch.dim">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">dim</span></span><a class="headerlink" href="#datasketches.density_sketch.dim" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">dim</span></span><a class="headerlink" href="#datasketches.density_sketch.dim" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter dim</p>
 </dd></dl>
 
-<dl class="py attribute">
+<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><a class="headerlink" href="#datasketches.density_sketch.get_estimate" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class [...]
 <dd><p>Returns an approximate density at the given point</p>
 </dd></dl>
 
-<dl class="py attribute">
+<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><a class="headerlink" href="#datasketches.density_sketch.is_empty" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></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 attribute">
+<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><a class="headerlink" href="#datasketches.density_sketch.is_estimation_mode" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">is_estimation_mode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bool</span></span></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 property">
 <dt class="sig sig-object py" id="datasketches.density_sketch.k">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.density_sketch.k" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">k</span></span><a class="headerlink" href="#datasketches.density_sketch.k" title="Link to this definition"></a></dt>
 <dd><p>The configured parameter k</p>
 </dd></dl>
 
-<dl class="py attribute">
+<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><a class="headerlink" href="#datasketches.density_sketch.merge" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sketch</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.density_sketch"><span class="pre">_datasketches.density_sk [...]
 <dd><p>Merges the provided sketch into this one</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.density_sketch.n">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.density_sketch.n" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">n</span></span><a class="headerlink" href="#datasketches.density_sketch.n" title="Link to this definition"></a></dt>
 <dd><p>The length of the input stream</p>
 </dd></dl>
 
 <dl class="py property">
 <dt class="sig sig-object py" id="datasketches.density_sketch.num_retained">
-<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.density_sketch.num_retained" title="Link to this definition"></a></dt>
+<span class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">num_retained</span></span><a class="headerlink" href="#datasketches.density_sketch.num_retained" title="Link to this definition"></a></dt>
 <dd><p>The number of retained items (samples) in the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<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><a class="headerlink" href="#datasketches.density_sketch.serialize" title="Link to this definition"></a></dt>
+<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</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">bytes</span></span></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 attribute">
+<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><a class="headerlink" href="#datasketches.density_sketch.to_string" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <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><s [...]
 <dd><p>Produces a string summary of the sketch</p>
 </dd></dl>
 
-<dl class="py attribute">
+<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><a class="headerlink" href="#datasketches.density_sketch.update" title="Link to this definition"></a></dt>
+<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">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">collections.abc.Sequence</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"> [...]
 <dd><p>Updates the sketch with the given vector</p>
 </dd></dl>
 
diff --git a/docs/main/vector/index.html b/docs/main/vector/index.html
index 56c6d44..f72d4f5 100644
--- a/docs/main/vector/index.html
+++ b/docs/main/vector/index.html
@@ -8,14 +8,14 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Vector Sketches &mdash; datasketches 0.1 documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
-      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
 
   
       <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=9bcbadda"></script>
-      <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+      <script src="../_static/doctools.js?v=fd6eb6e6"></script>
+      <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />


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