Every package falls in exactly one class, by what it lists in require.
Share of the ecosystem in each class, month by month, up to the selected date.
Packages in scope, cumulative. The registry opened with 213 packages at once — see the note below.
Total require edges. A separate chart, not a second axis.
A force layout of this many nodes is unreadable below about 700px. Use All packages for the same data as a sortable table.
Node area is proportional to how many packages depend on it; fill says what the package itself requires (hollow = requires nothing). Arrows point at what is required, so lower is more foundational. Dashed marks are groups of packages collapsed into one; click to open them. Click any package to centre the view on it. Drag to pan, scroll to zoom.
Why one package at a time is the default. 82% of packages have nothing depending on them, the median package has none, and Mathlib alone accounts for 47% of every dependency edge. Drawn all at once that is roughly fifteen packages carrying structure and five hundred carrying none, which is a picture of one fact rather than a tool. Per-package the data is well behaved: 99% of packages have twelve or fewer neighbours.
Every value in the dashboard is reachable here without hovering. Click or press Enter on a row for detail.