n2kanalysis
n2kanalysis has spent eight years wiring INLA models to an S3 bucket.
A side-by-side editorial comparison of n2khab and wasserportal — release velocity, themes, recent moves, and the top alternatives to consider.
n2khab keeps retracting interpretations of habitat data it can't actually support
n2khab reads and prepares the standardised Flemish Natura 2000 habitat data sources — habitat maps, water surfaces, GRTS master grids — for reproducible analysis. Releases track the publication of new versioned data sources on Zenodo, but the more consequential ones change how the package interprets what it reads. The latest removes an argument outright after the reasoning behind it was found to be wrong.
A Berlin groundwater scraper grew a full IoT publishing pipeline in two days.
wasserportal scrapes groundwater and surface water monitoring data from Wasserportal Berlin — station metadata, water levels, quality series. For its first four years that was the whole product, with releases tracking the portal's own churn: a new API version in 2023, new three-letter variable codes, and a 2026 fix decoding pages as windows-1252 because the server declares UTF-8 but emits Latin-1. In June 2026 it added a ThingsBoard integration, then extended it to self-hosted instances two days later.
n2khab reads and prepares the standardised Flemish Natura 2000 habitat data sources — habitat maps, water surfaces, GRTS master grids — for reproducible analysis. Releases track the publication of new versioned data sources on Zenodo, but the more consequential ones change how the package interprets what it reads. The latest removes an argument outright after the reasoning behind it was found to be wrong.
Two forces shape the package. The first is external: each new habitatmap or watersurfaces vintage needs a supported reader, and the package has absorbed a steady stream of them. The second is a willingness to break its own API when the ecology does not support what the code claimed — the interpreted argument removed because type 3130 occurrences cannot be resolved to a single subtype, the rbbvos+ type dropped as too loosely defined, the collapse default changed to match how users actually need the output shaped. Return structures are also being normalised so element names no longer vary with data source version.
The package has said it expects future watersurfaces_hab versions to implement collapsing in the data source itself, so the corresponding argument is a candidate for removal once that lands — the same path the interpreted argument took.
wasserportal scrapes groundwater and surface water monitoring data from Wasserportal Berlin — station metadata, water levels, quality series. For its first four years that was the whole product, with releases tracking the portal's own churn: a new API version in 2023, new three-letter variable codes, and a 2026 fix decoding pages as windows-1252 because the server declares UTF-8 but emits Latin-1. In June 2026 it added a ThingsBoard integration, then extended it to self-hosted instances two days later.
The package is repositioning from a data-access library into the first half of a monitoring pipeline. 0.6.0 shipped push helpers, device discovery and cleanup, an importable dashboard and a GitHub Actions workflow; 0.7.0 immediately generalised the authentication so it works against self-hosted Community Edition rather than only the Cloud tier, and lifted the push from a five-station demo to the entire groundwater archive. The hardening detail in 0.7.0 — retries on 5xx, warnings when only one of two credentials is set — reads like a maintainer who has run this against a real deployment.
The obvious next step is extending the ThingsBoard path to the surface water stations, which the package has flagged as under-supported since 0.1.0. The entries show no other direction under construction.
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 n2khab or wasserportal.
n2kanalysis has spent eight years wiring INLA models to an S3 bucket.
A Fortran-descended optimizer got thread-safe, then found two flags that never worked.
ggstatsplot reached 1.0 by adding tests, having outsourced its statistics years ago.
collapse got a JSS paper and a 7x fmean speedup in the same release.
gtsummary is quietly rebuilding itself around analysis results data, one table verb at a time.
broadcast is filling in NumPy-style array broadcasting for R, operator by operator.
See all n2khab alternatives → · See all wasserportal alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. n2khab and wasserportal 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. n2khab and wasserportal 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 Analytics products to evaluate alongside.
Top n2khab alternatives in Analytics are ranked by recent ship velocity. Browse the "n2khab alternatives" section above for the current picks, or visit /alternatives/n2khab for the full list with editorial commentary on each.
Top wasserportal alternatives in Analytics are ranked by recent ship velocity. Browse the "wasserportal alternatives" section above for the current picks, or visit /alternatives/wasserportal for the full list with editorial commentary on each.