Skip to content

feat(python): P2 tutorials — waffle, wordcloud, 3D scatter (en+zh) - #428

Merged
ShixiangWang merged 3 commits into
mainfrom
codex/python-p2-tutorials
Nov 3, 2026
Merged

ShixiangWang merged 3 commits into
mainfrom
codex/python-p2-tutorials

Conversation

@ShixiangWang

Copy link
Copy Markdown
Member

Summary

Implements the three P2 topics from #424, stacked on the P1 batch (#426 — merge that first; this branch is based on it so gallery Ids continue at 1067):

Tutorial Core content
Python/WafflePlot pywaffle 10x10 RECIST grid, two-arm comparison with shared palette; block scale + rounding rules
Python/WordcloudPlot text-driven cloud (collocations kept) vs frequency-driven print palette; random_state, stopwords, jieba guidance
Python/Scatter3dPlot mplot3d default view + rotation panel (elev/azim reporting, depth/occlusion and axis-direction pitfalls) with a 2D companion projection

Changes

  • New bilingual tutorials x3, demo/app images rendered end-to-end locally.
  • requirements.txt: pywaffle, wordcloud (CI installs from official PyPI).
  • _quarto.yml: +3 sidebar entries (355 pages, sync-sidebar --check passes).
  • files/gallery_data*.csv: +6 rows per language (Ids 1067-1072).

Verification

  • All chunks executed locally; sync-gallery --check in sync (90 manual cases, unchanged).
  • Script tests 31 passed; YAML valid; cross-links and image refs resolve.

@ShixiangWang
ShixiangWang force-pushed the codex/python-p2-tutorials branch from e47bd07 to 223e4aa Compare November 2, 2026 06:39
@ShixiangWang
ShixiangWang force-pushed the codex/python-p1-tutorials branch from 3e0a252 to 4557723 Compare November 2, 2026 07:09
@ShixiangWang
ShixiangWang force-pushed the codex/python-p2-tutorials branch from 223e4aa to 5899543 Compare November 2, 2026 07:09
@ShixiangWang
ShixiangWang force-pushed the codex/python-p1-tutorials branch from 4557723 to aae8b1e Compare November 2, 2026 09:09
@ShixiangWang
ShixiangWang force-pushed the codex/python-p2-tutorials branch from 5899543 to 211eb3e Compare November 2, 2026 09:09
@ShixiangWang
ShixiangWang changed the base branch from codex/python-p1-tutorials to main November 2, 2026 12:15
@ShixiangWang
ShixiangWang force-pushed the codex/python-p2-tutorials branch from 5a501b5 to da2ea8a Compare November 2, 2026 12:41
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

✅ QMD Format Check

✅ All 3 checked QMD file(s) pass format validation!

Automated check by the PR Review workflow.
See contribution guidance for the expected tutorial format.

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

📊 Quarto Render Preview

The new or modified Quarto files have been rendered and are available as artifacts.

🔗 View and Download Rendered Files

Click the link above, scroll to the "Artifacts" section at the bottom of the page, and download quarto-rendered-files to preview the rendered HTML files.

Modified files:

Python/Scatter3dPlot.qmd
Python/Scatter3dPlot.zh.qmd
Python/WafflePlot.qmd
Python/WafflePlot.zh.qmd
Python/WordcloudPlot.qmd
Python/WordcloudPlot.zh.qmd

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

✅ QMD Format Check

✅ All 3 checked QMD file(s) pass format validation!

Automated check by the PR Review workflow.
See contribution guidance for the expected tutorial format.

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

📊 Quarto Render Preview

The new or modified Quarto files have been rendered and are available as artifacts.

🔗 View and Download Rendered Files

Click the link above, scroll to the "Artifacts" section at the bottom of the page, and download quarto-rendered-files to preview the rendered HTML files.

Modified files:

Python/Scatter3dPlot.qmd
Python/Scatter3dPlot.zh.qmd
Python/WafflePlot.qmd
Python/WafflePlot.zh.qmd
Python/WordcloudPlot.qmd
Python/WordcloudPlot.zh.qmd

@ShixiangWang
ShixiangWang force-pushed the codex/python-p2-tutorials branch from a604393 to 5bc79ca Compare November 3, 2026 00:07
ShixiangWang added a commit that referenced this pull request Nov 3, 2026
…ze entries

The per-file worker clones discarded the project-level
_freeze/site_libs/ directory, so a fresh render's html dependency
copies (e.g. simplelightbox-2.1.0 newly emitted by the repinned
pixture fork) never reached the shared freeze cache. Frozen renders
then reference assets that exist nowhere, producing dangling
site_libs links on the deployed site and aborting the zh dedup step
(prune-zh-duplicates LEFTOVER, first seen on PRs #426/#428).

- workers now rsync _freeze/site_libs/ back like the per-page dirs
- a self-heal step drops freeze pages whose execute-results/html.json
  references site_libs assets missing from the shared cache, so they
  re-render and repopulate it
@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

✅ QMD Format Check

✅ All 3 checked QMD file(s) pass format validation!

Automated check by the PR Review workflow.
See contribution guidance for the expected tutorial format.

@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

📊 Quarto Render Preview

The new or modified Quarto files have been rendered and are available as artifacts.

🔗 View and Download Rendered Files

Click the link above, scroll to the "Artifacts" section at the bottom of the page, and download quarto-rendered-files to preview the rendered HTML files.

Modified files:

Python/Scatter3dPlot.qmd
Python/Scatter3dPlot.zh.qmd
Python/WafflePlot.qmd
Python/WafflePlot.zh.qmd
Python/WordcloudPlot.qmd
Python/WordcloudPlot.zh.qmd

Implements the three P2 topics from issue #424 on top of the P1 batch:

- WafflePlot: pywaffle single-cohort RECIST grid and two-arm comparison;
  block scale and rounding rules
- WordcloudPlot: text-driven cloud with collocations vs frequency-driven
  print palette; random_state, stopwords, jieba notes
- Scatter3dPlot: mplot3d default view + rotation panel (elev/azim,
  depth, axis-direction pitfalls) with a 2D companion projection

New requirements: pywaffle, wordcloud (both pure deps on the official
PyPI index used by CI). Gallery CSVs +6 rows per language (Ids 1067-1072);
sidebar +3 entries (355 pages).

Stacked on the P1 batch (ids continue after 1066); merge after the P1 PR.
@ShixiangWang
ShixiangWang force-pushed the codex/python-p2-tutorials branch from 5bc79ca to 20efde8 Compare November 3, 2026 01:59
@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

✅ QMD Format Check

✅ All 3 checked QMD file(s) pass format validation!

Automated check by the PR Review workflow.
See contribution guidance for the expected tutorial format.

@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

📊 Quarto Render Preview

The new or modified Quarto files have been rendered and are available as artifacts.

🔗 View and Download Rendered Files

Click the link above, scroll to the "Artifacts" section at the bottom of the page, and download quarto-rendered-files to preview the rendered HTML files.

Modified files:

Python/Scatter3dPlot.qmd
Python/Scatter3dPlot.zh.qmd
Python/WafflePlot.qmd
Python/WafflePlot.zh.qmd
Python/WordcloudPlot.qmd
Python/WordcloudPlot.zh.qmd

@ShixiangWang
ShixiangWang merged commit 491d517 into main Nov 3, 2026
7 checks passed
@ShixiangWang
ShixiangWang deleted the codex/python-p2-tutorials branch November 3, 2026 02:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant