Skip to content

Rio 2016 athletes ​

athletes.py loads the Rio 2016 roster with Polars, a dataframe library for Python, and calculates age, medal awards, sport participation, and athlete profiles. One notebook backs all three views.

Compare the views ​

Loading…
Plain HTML Source

In Overview, change Sport. The native marimo control selects one of 29 prepared notebook states. Four mo-value totals, the browser-drawn roster, and the top_sports chart update from that result.

In Explorer, select a sport bar or brush an age range. Mosaic coordinates that browser-side selection while the notebook remains the source of the complete athlete table.

In Field, move through the roster as a four-chapter Three.js 3D presentation. The same records regroup by sport, medal status, height, weight, and age. Its sport control uses the same 29 prepared states as Overview.

Open Notebook to inspect the controls and Polars operations in their analytical context.

Run locally ​

From the repository root:

console
uv run marimo edit examples/athletes.py --sandbox

Studio opens overview, the notebook's default view. Switch among overview, explorer, and field. The notebook fetches the pinned athlete CSV from raw.githubusercontent.com. The Explorer and Field views also load the remote font or module origins declared by their view source.

Read the source ​

The three views use sibling-relative URLs, so their links survive a deployment base path and a copied parent directory.