progressr: An Inclusive, Unifying API for Progress Updates

A minimal, unifying API for scripts and packages to report progress updates from anywhere including when using parallel processing. The package is designed such that the developer can to focus on what progress should be reported on without having to worry about how to present it. The end user has full control of how, where, and when to render these progress updates, e.g. in the terminal using utils::txtProgressBar(), cli::cli_progress_bar(), in a graphical user interface using utils::winProgressBar(), tcltk::tkProgressBar() or shiny::withProgress(), via the speakers using beepr::beep(), or on a file system via the size of a file. Anyone can add additional, customized, progression handlers. The 'progressr' package uses R's condition framework for signaling progress updated. Because of this, progress can be reported from almost anywhere in R, e.g. from classical for and while loops, from map-reduce API:s like the lapply() family of functions, 'purrr', 'plyr', and 'foreach'. It will also work with parallel processing via the 'future' framework, e.g. future.apply::future_lapply(), furrr::future_map(), and 'foreach' with 'doFuture'. The package is compatible with Shiny applications.

Version: 0.14.0
Depends: R (≥ 3.5.0)
Imports: digest, utils
Suggests: graphics, tcltk, beepr, cli, crayon, pbmcapply, progress, purrr, foreach, plyr, doFuture, future, future.apply, furrr, RPushbullet, rstudioapi, shiny, commonmark, base64enc, tools
Published: 2023-08-10
DOI: 10.32614/CRAN.package.progressr
Author: Henrik Bengtsson [aut, cre, cph]
Maintainer: Henrik Bengtsson <henrikb at>
License: GPL (≥ 3)
NeedsCompilation: no
Materials: NEWS
CRAN checks: progressr results


Reference manual: progressr.pdf
Vignettes: progressr: An Introduction


Package source: progressr_0.14.0.tar.gz
Windows binaries: r-devel:, r-release:, r-oldrel:
macOS binaries: r-release (arm64): progressr_0.14.0.tgz, r-oldrel (arm64): progressr_0.14.0.tgz, r-release (x86_64): progressr_0.14.0.tgz, r-oldrel (x86_64): progressr_0.14.0.tgz
Old sources: progressr archive

Reverse dependencies:

Reverse imports: adestr, AIPW, ale, ao, basksim, bayesmove, beer, bolasso, calmr, campsis, canaper, cSEM, cyclestreets, dapper, deseats, dipsaus, drugdevelopR, easyalluvial, ecic, econet, EFAtools, EGAnet, elevatr, EpiForsk, EpiNow2, epwshiftr, fabletools, fastRhockey, fdacluster, funGp, futureverse, fxTWAPLS, geocausal, geocmeans, GeoModels, gtfs2gps, hbamr, hoopR, lava, lightr, lmtp, LWFBrook90R, mcmcensemble, modeltime.resample, nflfastR, nflseedR, nlrx, opentripplanner, parseRPDR, pavo, polle, poppr, powRICLPM, PWIR, rainette, rangeMapper, readsdr, receptiviti, rechaRge, remiod, rTwig, saeczi, semTests, Seurat, SeuratObject, simaerep, SimDesign, skpr, smoots, spNetwork, squat, stppSim, targeted, tidyfit, tidySEM, tsdistributions, tsgarch, vital, vmeasur, wehoop, WeightedCluster, ycevo
Reverse suggests: AlpsNMR, baseballr, baskexact, bbotk, gtfs2emis, hmer, ISAnalytics, mapme.biodiversity, mikropml, mlr3, mpathsenser, nflreadr, oddsapiR, plnr, RAINBOWR, rsi, semPower, sentopics, sims, sphunif, survex, terrainr


Please use the canonical form to link to this page.