osmextract
osmextract stopped throwing your OpenStreetMap downloads away at the end of every session.
A side-by-side editorial comparison of mapsf and nanonext — release velocity, themes, recent moves, and the top alternatives to consider.
Thematic mapping in base R that finally got a theming system, then spent two years polishing legends.
mapsf produces thematic maps on R's base graphics device — choropleths, proportional symbols, typology maps, rasters, and their combinations, with legends, scale bars, north arrows, and insets as composable elements. Version 1.0.0 was the structural release, introducing a theming system that deprecated eight scattered styling arguments and adding mf_png() and mf_svg() export helpers plus alpha transparency across map types. The 1.1.x and 1.2.x line since then has been steady refinement: background and extent control on the drawing functions, decimal and thousands-separator control in legends, and label placement arguments.
nanonext keeps shrinking its build requirements while adding messaging primitives.
The R binding to NNG ships roughly monthly. Since February the package added an HTTP server that can run synchronously or through the later event loop, a zero-copy device forwarder for building brokers and proxies, and support for pthread-enabled WebAssembly targets. Send operations now move the buffer straight into the NNG message, halving peak memory on serialized sends.
mapsf produces thematic maps on R's base graphics device — choropleths, proportional symbols, typology maps, rasters, and their combinations, with legends, scale bars, north arrows, and insets as composable elements. Version 1.0.0 was the structural release, introducing a theming system that deprecated eight scattered styling arguments and adding mf_png() and mf_svg() export helpers plus alpha transparency across map types. The 1.1.x and 1.2.x line since then has been steady refinement: background and extent control on the drawing functions, decimal and thousands-separator control in legends, and label placement arguments.
The package has been consolidating control into fewer, more consistent places. Legend handling moved out to the maplegend package in 0.8.0 and the per-element mf_legend_* functions were deprecated in favor of arguments on the map calls themselves; theming replaced ad-hoc style arguments in 1.0.0; and recent releases keep propagating the same argument vocabulary — bg, extent, leg_val_rnd, leg_val_dec, leg_val_big — across every function that should accept it. Determinism is a visible concern too, with 1.2.1 fixing a seed so mf_distr() point positions stop moving between runs.
The recent releases are almost entirely argument-parity work across existing functions, so expect that to continue until the vocabulary is uniform rather than any new map type appearing.
The R binding to NNG ships roughly monthly. Since February the package added an HTTP server that can run synchronously or through the later event loop, a zero-copy device forwarder for building brokers and proxies, and support for pthread-enabled WebAssembly targets. Send operations now move the buffer straight into the NNG message, halving peak memory on serialized sends.
Two directions run in parallel. One is making the package installable anywhere — the build-time cmake dependency is gone, so compiling bundled NNG and Mbed TLS needs only a C compiler, and WebAssembly targets are supported. The other is raising the ceiling on what can be built on top: device_aio() for message forwarding, an HTTP and WebSocket server with a content map, and stream buffer control. Bug fixes in recent releases concentrate on memory safety in the bundled C sources.
Given the pace and the tight coupling declared in each release, expect the next version to track a mirai requirement and continue hardening the HTTP server paths that the last two releases have been leaking memory in.
Other Analytics 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 mapsf or nanonext.
osmextract stopped throwing your OpenStreetMap downloads away at the end of every session.
nanoparquet is chasing byte-level agreement with the Java and Rust Parquet readers, not feature count.
poissonreg gave its models away to parsnip and kept the glue — now it just keeps glmnet honest.
S7 has stopped adding surface and started proving it holds up against R itself.
R's torchvision is porting PyTorch's vision stack one task at a time — instance segmentation just landed.
The messy-date parser rewrote its core in Rust and came out 300x faster.
See all mapsf alternatives → · See all nanonext alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. nanonext is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. 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. nanonext is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.
Top mapsf alternatives in Analytics are ranked by recent ship velocity. Browse the "mapsf alternatives" section above for the current picks, or visit /alternatives/mapsf for the full list with editorial commentary on each.
Top nanonext alternatives in Analytics are ranked by recent ship velocity. Browse the "nanonext alternatives" section above for the current picks, or visit /alternatives/nanonext for the full list with editorial commentary on each.