ggfootball
A football-viz package just swapped scraping for an API and broke its own output to do it.
A side-by-side editorial comparison of bulkreadr and ggpointless — release velocity, themes, recent moves, and the top alternatives to consider.
A bulk file reader became a labelled-survey-data toolkit, then went quiet
bulkreadr started as a way to read many files at once and turned into tooling for labelled survey data: SPSS and Stata importers that convert labelled variables to factors, generate_dictionary() for building data dictionaries, look_for() for searching variable descriptions, and imputation helpers. The most recent release does the opposite of adding — it pulls inspect_na() in-house to drop an external dependency.
ggpointless keeps adding the ggplot2 layers nobody else bothered to write.
ggpointless is a small ggplot2 extension collecting geoms that sit outside the standard set — Lexis diagrams, Chaikin-smoothed paths, hanging chains, Fourier reconstructions — and it has grown steadily rather than changed shape. The May release is the largest yet: isotype and pictogram bar charts as stacks of discrete unit cells, a family of geoms that fade paths, segments, curves and reference lines along their length, and geom_gridline(), which draws grid lines as a layer on top of the data rather than beneath it.
bulkreadr started as a way to read many files at once and turned into tooling for labelled survey data: SPSS and Stata importers that convert labelled variables to factors, generate_dictionary() for building data dictionaries, look_for() for searching variable descriptions, and imputation helpers. The most recent release does the opposite of adding — it pulls inspect_na() in-house to drop an external dependency.
Growth came in a burst across 2023, slowed to one release a year, and has now turned inward. The 2023 cadence added a format or a labelled-data function every few weeks; 2025 added a single Excel-to-CSV exporter; 2026 removed a dependency. The GitHub notes are cumulative — each release restates every prior version's changelog — which makes the feed look busier than the work is.
With inspectdf gone, the remaining Suggests-level dependencies are the obvious next targets for the same treatment. Nothing in these entries points to a new file format or a return to the 2023 pace.
ggpointless is a small ggplot2 extension collecting geoms that sit outside the standard set — Lexis diagrams, Chaikin-smoothed paths, hanging chains, Fourier reconstructions — and it has grown steadily rather than changed shape. The May release is the largest yet: isotype and pictogram bar charts as stacks of discrete unit cells, a family of geoms that fade paths, segments, curves and reference lines along their length, and geom_gridline(), which draws grid lines as a layer on top of the data rather than beneath it.
Two patterns are visible. Ideas get generalized rather than left as one-offs: geom_area_fade() in the previous release established alpha gradients via grid::linearGradient(), and the recent release spreads that treatment across paths, lines, steps, segments, curves and the three reference-line geoms, each with the same fade_direction and alpha_fade_to arguments. And each new geom is expected to survive real plots — the unit charts work under coord_equal, coord_polar, coord_radial, coord_flip and faceting, and geom_gridline reads positions from trained scales and inherits styling from the theme's panel grid. The package also tracks ggplot2 closely, requiring 4.0.0 and using make_constructor() and gg_par() internally, and it dropped its bundled datasets outright rather than maintain stale copies.
The fade treatment now covers most path-like geoms but not the area and ribbon family beyond geom_area_fade(), which is where the pattern has room left to run. The unit-cell charts arrive with a label helper and no fill or grouping variants, so those are the plausible next additions.
Other Infra & APIs products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either bulkreadr or ggpointless.
A football-viz package just swapped scraping for an API and broke its own output to do it.
A gene-set enrichment package that outgrew its human-only origins, then went quiet.
The recursive-computation engine under massProps grows the accessors its consumer needed
A mass-properties rollup spends a year on documentation and follows its sibling's API
Six months of releases and not one of them touched the scoring models
A cognitive-science sampling package ships once, then goes quiet for eighteen months
See all bulkreadr alternatives → · See all ggpointless alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. bulkreadr and ggpointless are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. bulkreadr and ggpointless are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.
Top bulkreadr alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "bulkreadr alternatives" section above for the current picks, or visit /alternatives/bulkreadr for the full list with editorial commentary on each.
Top ggpointless alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "ggpointless alternatives" section above for the current picks, or visit /alternatives/ggpointless for the full list with editorial commentary on each.