vellum
vellum's bugs are now found by using it, not testing it — the downstream grammar is doing the QA.
A side-by-side editorial comparison of tidyBdE and wasserportal — release velocity, themes, recent moves, and the top alternatives to consider.
A Banco de España CSV scraper just learned to query the bank's live statistics API.
tidyBdE pulls Banco de España macroeconomic series into tidy R data frames and ships ggplot2 scales in the bank's house colors. Its whole history ran on bulk CSV downloads; 0.7.0 adds bde_series_api_latest() and bde_series_api_load() to query the bank's Statistics web service directly, with wide and long output, metadata extraction and time-range validation. The same release reached 100% line coverage.
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.
tidyBdE pulls Banco de España macroeconomic series into tidy R data frames and ships ggplot2 scales in the bank's house colors. Its whole history ran on bulk CSV downloads; 0.7.0 adds bde_series_api_latest() and bde_series_api_load() to query the bank's Statistics web service directly, with wide and long output, metadata extraction and time-range validation. The same release reached 100% line coverage.
Most releases in this feed are the package chasing Banco de España's own churn — series identifiers change upstream and the indicator wrappers get repointed. The API functions break that pattern by removing the bulk-file dependency for the first time, and the new csv_manual vignette reads like documentation of the legacy path rather than the preferred one. The maintainer is applying the same cli, roxygen2 and AI-assisted refactor pass seen across their other Spanish open-data packages.
Expect the indicator wrappers to migrate onto the API functions, which would end the recurring identifier-tracking releases; the bde_ind_db documentation already carries the API series code alongside the CSV identifiers.
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 tidyBdE or wasserportal.
vellum's bugs are now found by using it, not testing it — the downstream grammar is doing the QA.
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.
See all tidyBdE alternatives → · See all wasserportal alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — open-data — within Analytics. tidyBdE 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. tidyBdE 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 tidyBdE alternatives in Analytics are ranked by recent ship velocity. Browse the "tidyBdE alternatives" section above for the current picks, or visit /alternatives/tidybde 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.