CPython core team over time
Runs core_devs_activity.py directly in the browser via
Pyodide (CPython as WASM). The chart is drawn as a hand-built SVG using
only the standard library; a matplotlib backend is available on demand.
Listed roster vs. recently-active contributors over CPython's history.
—listed today
—active in window
—% active
—Python render ms
Sources & caveats
- Roster from the devguide team-log — 207 historical members back to 1989-12-25 (Guido).
- Activity from the GitHub Search API: PR or issue
authored in
python/cpython. - Comments are not counted: GitHub has no per-user-per-repo comment search; a member who only reviewed PRs appears inactive.
- Pre-GitHub era (before the cpython repo migrated to GitHub in Feb 2017): the active series is conservatively low.
- ~50 listed members never had a GitHub account and resigned en-masse on 2017-02-10 — they count as listed during their tenure but never as active.
How this page runs Python in your browser
- Pyodide downloads a WASM build of CPython + stdlib from jsDelivr (~10 MB compressed). That's all the default needs.
- The data bundle
data.jsis loaded as a normal script tag and exposed aswindow.__DATA__; the page hands those objects to Python viapyodide.globals.set. - The Python program (embedded in an inert
<script type="text/python">block) does the month-walk, day-precision membership check, and active-count via binary search — identical to the desktop script. - SVG renderer (default): the same Python builds an
inline
<svg>string with the standard library only — no matplotlib, numpy, or pillow — and drops it into the page. - matplotlib backend (optional): selecting it
loadPackages matplotlib (~15 MB, one-time) and renders to a JPEG<img>— the same chart, heavier download.
Cold start with the SVG renderer is a few seconds (Pyodide core only); switching to matplotlib adds the one-time ~15 MB. Cached on revisit.