Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions docs/examples/federated_statistics_overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,14 @@ To calculate federated quantiles, we use the fastdigest package, which satisfies
* Avoids transmitting large amounts of data
* No system-level dependency

Pin ``fastdigest`` to ``0.4.0``:

.. code-block:: text
pip install fastdigest==0.4.0
Newer ``fastdigest`` releases changed the TDigest API and are planned to be adopted in a later branch.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

User-facing phrasing references internal branch concept

The phrase "planned to be adopted in a later branch" uses Git branching terminology that is internal to the project and may confuse end users. Consider replacing it with version-oriented language such as "a future release" to keep the documentation audience-appropriate.

Suggested change
Newer ``fastdigest`` releases changed the TDigest API and are planned to be adopted in a later branch.
Newer ``fastdigest`` releases changed the TDigest API and are planned to be adopted in a future release.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!


The tdigest algorithm only carries the cluster coordinates, initially each data point is in its own cluster. By default, we compress with max_bin = sqrt(datasize) to compress the coordinates, so the data won't leak. You can always override max_bins if you prefer more or less compression.

For detailed implementation instructions and configuration examples, please refer to the :github_nvflare_link:`Federated Statistics README <examples/advanced/federated-statistics/README.md>`.
Expand Down
2 changes: 1 addition & 1 deletion docs/hello-world/hello-tabular-stats/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Install the dependency
Install Optional Quantile Dependency -- fastdigest
------------------------------------------------------------

If you intend to calculate quantiles, you need to install fastdigest.
If you intend to calculate quantiles, install ``fastdigest==0.4.0``.

Skip this step if you don't need quantile statistics.

Expand Down
6 changes: 6 additions & 0 deletions examples/advanced/federated-statistics/df_stats/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,12 @@ We chose the fastdigest Python package, a Rust-based package. The digest only ca
initially, each data point is in its own cluster. By default, we will compress with max_bin = sqrt(datasize)
to compress the coordinates, so the data won't leak. You can always override max_bins if you prefer more or less compression.

Install and pin:

```bash
pip install fastdigest==0.4.0
```


## Configuration and Code

Expand Down
2 changes: 1 addition & 1 deletion examples/hello-world/hello-tabular-stats/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ pip install -r requirements.txt

### Install Optional Quantile Dependency -- fastdigest

If you intend to calculate quantiles, you need to install fastdigest.
If you intend to calculate quantiles, install `fastdigest==0.4.0`.

Skip this step if you don't need quantile statistics.

Expand Down
2 changes: 1 addition & 1 deletion examples/hello-world/hello-tabular-stats/df_stats.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
"source": [
"## Install Optional Quantile Dependency – fastdigest\n",
"\n",
"If you intend to calculate quantiles, you need to install fastdigest.\n",
"If you intend to calculate quantiles, install `fastdigest==0.4.0`.\n",
"\n",
"Skip this step if you don’t need quantile statistics.\n",
"```\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
"> Sidebar: \n",
"> **Installing fastdigest**\n",
">\n",
"> If you intend to calculate quantiles, you need to install fastdigest. the fastdigest not included in the requirements.txt file. If you are not calculating quantiles, you can skip this step.\n",
"> If you intend to calculate quantiles, install `fastdigest==0.4.0`. the fastdigest not included in the requirements.txt file. If you are not calculating quantiles, you can skip this step.\n",
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The updated sidebar sentence has grammatical issues (e.g., "the fastdigest not included") and double spacing after the period. Please revise to a complete, capitalized sentence (e.g., "fastdigest is not included in requirements.txt").

Suggested change
"> If you intend to calculate quantiles, install `fastdigest==0.4.0`. the fastdigest not included in the requirements.txt file. If you are not calculating quantiles, you can skip this step.\n",
"> If you intend to calculate quantiles, install `fastdigest==0.4.0`. The `fastdigest` package is not included in the `requirements.txt` file. If you are not calculating quantiles, you can skip this step.\n",

Copilot uses AI. Check for mistakes.
">\n",
"> ```bash\n",
"> pip install fastdigest==0.4.0\n",
Expand Down
1 change: 1 addition & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ test_support =
test =
%(all)s
%(test_support)s
fastdigest==0.4.0; python_version < "3.14"

test_mac =
%(all_mac)s
Expand Down
Loading