docs: refresh top-models telemetry figure and add uv generator#734
Conversation
Replace the default donut chart with a ranked input-vs-output token breakdown styled to match the Data Designer devnote charts (near-black canvas, NVIDIA-green duotone). Updates all three tracked copies the README and Fern docs reference. Adds docs/scripts/generate_top_models_figure.py, a PEP 723 uv standalone script (run via 'uv run', no repo dependency added), plus the source telemetry CSV so the figure regenerates with zero args. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Eric W. Tramel <eric.tramel@gmail.com>
|
MkDocs preview: https://dcb87148.dd-docs-preview.pages.dev Fern preview: https://nvidia-preview-pr-734.docs.buildwithfern.com/nemo/datadesigner
|
Greptile SummaryThis PR refreshes the README's "Top models (YTD)" telemetry section with June 2026 data and replaces the donut chart with a ranked stacked-bar chart styled to match the Data Designer devnote aesthetic. It also adds a reproducible
|
| Filename | Overview |
|---|---|
| docs/scripts/generate_top_models_figure.py | New PEP 723 uv script; clean logic — BOM-safe CSV parsing, deterministic matplotlib config, correct stacked-bar rendering, safe mirror copy via shutil. No issues found. |
| docs/scripts/top-model-usage.csv | New telemetry CSV with 10 named model rows + Other aggregate; column count, BOM, and comma-formatted numbers match what load_rows expects. Token totals (~2.68 T) are consistent with the updated README badge. |
| README.md | Badge text updated to '2.6T+ Tokens Processed' and date range bumped to June 1, 2026 — both consistent with the new CSV data. |
| docs/images/top-models.png | Binary PNG replaced with the new stacked-bar chart; rendered by the script from the committed CSV. |
| fern/images/top-models.png | Fern mirror PNG updated in sync with docs/images/top-models.png. |
| fern/assets/images/top-models.png | Binary updated; per previous review discussion, this copy is intentionally not a TARGETS entry in the script as no Fern content references this path. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[uv run generate_top_models_figure.py] --> B{--csv provided?}
B -- No --> C[top-model-usage.csv default CSV]
B -- Yes --> D[User-supplied CSV]
C --> E[load_rows: parse + strip commas]
D --> E
E --> F[configure_matplotlib: Agg backend, DejaVu Sans]
F --> G[render: primary docs/images/top-models.png]
G --> H{mirrors?}
H -- Yes --> I[shutil.copyfile: fern/images/top-models.png]
H -- No --> J[Print wrote paths]
I --> J
Reviews (7): Last reviewed commit: "Merge branch 'main' into ewt/top-models-..." | Re-trigger Greptile
Bumps the Top models (YTD) range and last-updated stamp to match the refreshed figure's data snapshot (year-to-date through 6/1/2026). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Eric W. Tramel <eric.tramel@gmail.com>
The telemetry snapshot totals ~2.68T tokens (input + output across all models); the badge previously read '400+ Billion Tokens Generated'. Rounds down to 2.6T+ to stay truthful with the '+'. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Eric W. Tramel <eric.tramel@gmail.com>
|
Thanks for putting this together, @eric-tramel! SummaryThis PR replaces the README/Fern top-models image with a ranked input-vs-output token chart and adds a CSV-backed standalone FindingsSuggestions — Take it or leave it
What Looks Good
VerdictShip it (with nits) — Nothing blocking from my side. I’d recommend dropping the unreferenced This review was generated by an AI assistant. |
Pin matplotlib==3.9.4 and force matplotlib's bundled DejaVu Sans (drop opportunistic Helvetica/Arial) so the checked-in PNG is byte-reproducible across machines and CI, not dependent on locally installed fonts. Derive x-axis ticks from the data (MaxNLocator + the existing fmt() helper, which promotes B -> T) instead of hard-coding 0..700B, so future refreshes can't mislabel the axis. Drop the unreferenced fern/assets/images/top-models.png; docs/images/ (README) and fern/images/ (Fern's /images/* mirror) are the only consumers. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Eric W. Tramel <eric.tramel@gmail.com>
|
Thanks @johnnygreco — all three addressed in
Appreciate the review! |
The docstring still listed fern/assets/images/top-models.png after that stray copy was removed; drop it so the docstring matches the two-entry TARGETS. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Eric W. Tramel <eric.tramel@gmail.com>
|
Thanks for the quick follow-up, @eric-tramel. The intent looks addressed: the stray I’m holding approval for two small residual issues I hit while verifying:
uv run --python 3.12 docs/scripts/generate_top_models_figure.pycompleted, but changed both remaining images ( Could you remove the stale docstring path and either commit the PNGs produced by the current generator or adjust the render environment so a fresh run leaves the worktree clean? After that, I’m happy to approve. |
|
Quick clarification after re-checking the latest head (
The only thing I’m still holding approval on is reproducibility: a fresh generator run still changes the committed PNGs for me. uv run --python 3.12 docs/scripts/generate_top_models_figure.pyThis completes quickly now, but leaves both PNGs modified. The committed files hash to So from my side, the remaining ask is just: please commit the PNGs produced by the current generator, or otherwise adjust the script/render environment so this command leaves the worktree clean. Once that’s true, I’m good to approve. |
Just re-ran, no change locally for me 🤔 |
What
Replaces the default donut chart in the README's Top models (YTD) section with a ranked input-vs-output token breakdown, styled to match the Data Designer devnote charts (near-black canvas, NVIDIA-green duotone, bold value labels, de-emphasized Other aggregate).
Updates all three tracked copies the README and Fern docs reference:
docs/images/top-models.pngfern/assets/images/top-models.pngfern/images/top-models.pngRefreshing it
Adds
docs/scripts/generate_top_models_figure.py— a PEP 723 uv standalone script (matches the convention indocs/assets/recipes/). No repo dependency is added;matplotlibresolves in an ephemeral environment:The source telemetry export is committed at
docs/scripts/top-model-usage.csv, so the figure regenerates with zero args and renders identically on any machine (falls back to matplotlib's bundled font when Helvetica is absent — keeping the committed asset reproducible in CI/Linux).