← Back to all sparks
D

dipsaus

ANALYTICS
Velocity0.0

A Dipping Sauce for Data Analysis and Visualizations

dipsaus sheds five dependencies and rebuilds its native layer on Rcpp

shinyparallel-computingdeveloper-toolsr-packagedependency-reduction
Current state
dipsaus is a utility toolbox for R and Shiny developers — parallel helpers, fast map and queue wrappers, RStudio integrations, and custom Shiny inputs — and the foundation layer under the RAVE neuroimaging stack. The 0.3.x line dropped magrittr, remotes, glue, base64url and startup, moved off RcppParallel and TBB, and switched to Rcpp specifically to stop calling R's internal ENCLOS and CLOSENV interfaces. On the user-facing side it added fancyDirectoryInput, a Shiny widget for uploading whole directories with streaming and a progress bar.
Where it's heading
Two long-running threads run through every release: cut dependencies, and make asynchronous work in R less fragile. The package has been removing packages it once required — synchronicity, qs, RcppRedis, htmltools, stringr, now five more — while successively replacing its own async machinery (make_async_evaluator, then async_workers, then lapply_callr and lapply_async with automatic global handling). The Rcpp move adds a third pressure: staying inside R's supported C interfaces as the non-API surface is closed off.
Prediction
The dependency-shedding pattern points at the remaining soft-deprecated pieces — dipsaus_lock/unlock and PersistContainer have both been marked for removal for several releases and are the obvious next things to go.

Recent moves

  1. 7mo ago

    Directory upload widget lands; native layer moves to Rcpp

    ⚡ SPARK

    The cumulative 0.3.x release: fancyDirectoryInput brings streaming directory upload to Shiny, five dependencies are removed, RcppParallel and TBB give way to TinyThread, and the native layer switches to Rcpp to avoid R's internal ENCLOS and CLOSENV calls. It is the clearest single step in the dependency-shedding and async-hardening arc the package has been on since 0.1.x.

    View source ↗
  2. 4y ago

    rs_edit_file, constrained %OF% operator, nested rs_exec

    Adds an RStudio wrapper for editing files, a %OF% operator that constrains results, and nested rs_exec execution with a documented orphan-process caveat. Also begins replacing stringr calls with base R equivalents — an early move in the dependency reduction that 0.3.3 completes.

    View source ↗
  3. 4y ago

    get_credential added; synchronicity dependency dropped

    Adds get_credential for deriving per-service passwords from one master password, removes the synchronicity dependency, and moves sync_shiny_inputs onto fastmap and bindEvent. Same two instincts as later releases: fewer dependencies, faster internals.

    View source ↗
  4. 4y ago

    lapply_callr replaces async_workers; qs and RcppRedis removed

    A broad release: lapply_callr replaces the async_workers implementation, RStudio shortcut registration arrives, and qs, RcppRedis and htmltools are dropped along with qs_map and redis_map. The async rewrite here is the middle step between make_async_evaluator and the current lapply_async.

    View source ↗
  5. 5y ago

    Background job scheduling and parallel covariance helpers

    Adds async_works for scheduling background work across sessions, make_forked_clusters for multicore futures inside RStudio, and fast numeric helpers such as fastcov2 and sumsquared. Soft-deprecates lock/unlock, which are still on the removal list several releases later.

    View source ↗
  6. 6y ago

    RStudio-aware helpers with console fallbacks

    Introduces the rs_* family, which uses RStudio's interface when available and falls back to console or Rscript behaviour otherwise, plus Shiny session helpers and environment utilities. Establishes the dual-context design the package has kept since.

    View source ↗