Skip to content

progressr

1.1.0Package record

An Inclusive, Unifying API for Progress Updates

148packages dependsuggested by 50
2.5Mdownloads / year
84.8%test coverage
13/13flavors OK

Overview

About

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. 'lapply(...) |> futurize()' and 'purrr::map(...) |> futurize()', which uses future.apply::future_lapply() and furrr::future_map() internally. The package is compatible with Shiny applications.

Changes in 1.1.0

Significant Changes

  • digest is no longer a hard dependency. The package now uses tools::md5sum(bytes = ...), which is available in R (>= 4.5.0), to generate unique IDs for R objects. For older versions of R, it uses tools::md5sum(files = ...) via a temporary file, which does not add much overhead because these internal IDs are not generated frequently. For the time being, digest::digest() is still used for older versions of R, if **digest** is installed.

New Features

  • Add handler_callback() that calls a user-defined hook function on every progression update, e.g. to forward progress to logging, GUIs, or other external systems not natively supported by **progressr**.
Show all changes in 1.1.0Hide the rest of the changes in 1.1.0
  • handlers() now supports specifying progression handlers as comma-separated strings, e.g. handlers("cli,beepr").
  • handlers() now supports specifying a list mixed with names of progression handlers and explicit handler functions, e.g. handlers(list("cli,debug", handler_beepr())).
  • handlers() now always parses, expands, and incorporates the progression handlers specified by R option progressr.handlers. As a side effect, unknown handlers are reported on sooner, if handlers() is called.
  • Add support for environment variable R_PROGRESSR_HANDLERS to set R option progressr.handlers when package is loaded.

Documentation

  • Clarify that progress updates relayed via the file system can be delayed, or only arrive all at once. This can happen on system when standard output redirected to file is buffered.

Bug Fixes

  • Package failed to load on R (< 4.0.0). This was due to a regression introduced in **progressr** 0.16.0 (2025-09-10).
  • When using handlers(global = TRUE), interrupted (e.g. Ctrl-C) progress could produce a noisy warning on spurious "received a progression 'update' request ..." That is now muffled.

From NEWS.md in the release

Install

Health

CRAN checks
13OK
Slowest check: 5.2 min · r-oldrel-windows-x86_64
Status changes
  • OK13 OK2026-08-05
  • NOTE12 OK, 1 NOTE2026-08-01
  • OK13 OK2026-06-09
  • ERROR12 OK, 1 ERROR2026-06-08
  • OK14 OK2026-03-10
Advisories

none known

Documentation

In release 1.1.0
README· In the repository, left out of the releaseVignettesYes · 8 · staticNEWSYes · 100% structured · mentions 1.1.0Citation fileNoWebsiteYes · pkgdown
Help pages
35 (8 internal)includes a package overview page
Examples that run
83%24 run in a plain check (8 of them under a condition) · 5 never run
Exported functions with examples
87%
Documented parameters
79%
Return-value docs
94%
Help pages citing references
0%

Also includes 1 demo script (run with demo())

Downloads

2.5M
CRAN downloads in the past year
Rank #243 · ~6.9K/day · ~208.8K/mo
Daily download trend is not available in this view yet.
187.7K30 days
535.5K90 days
2.5M1 year
Compare downloads with other packages →
Also on62.7K r2u199 autocran420.7K conda_forge18K c2d4u

Repository

299Stars
11Forks
38Open issues
1Open PRs
0Releases
1,019Commits
7Commit identities
rpackageprogressconditions
License file reads as Apache-2.0 · 1,019 commits · Last activity 2026-10-18 · 0% stars, 30d · Discussions: 8 posts
Responsiveness
How these are sampled
PRs merged (all time)
86%
Median days to close, 50 most recently updated closed issues
32
Median days to close, 50 most recently updated closed PRs
1

Stars over time

2025-09-24 · 2952026-07-27 · 299
PracticesBeta

10 development-tooling and community-health practices detected across 7 families in the upstream repository

Checks run against github.com/futureverse/progressr on 2026-10-18.

Continuous integration (2)
GitHub ActionsR CMD check workflow

The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel

Governance and community (2)
Code of conduct (inherited from futureverse)Contributing guide (inherited from futureverse)
Docs source (2)
pkgdown

GitHub Pages site last deployed 2026-10-18

pkgdown site last built 2026-10-18

Coverage (1)
Coverage reporting
Show all practicesHide 3 practices
Reproducibility and dev environment (1)
Makefile
CRAN release process (1)
revdep/
Research and citation (1)
CITATION.cff
How this is detected·Detection ruleset v3 (2026-09-26)
AI coding toolsBeta

This repository shows signs of AI coding tools.

  • Claude Codefirst seen 2026-09-23
    Commits: at least 1 crediting it in the message
Models named in its commits
  • Claude Opus 5.51 commit · Sep 2026
Counts are commits, not lines of code. Commits by a tool's accounts count once across all of its accounts. Commits crediting it are the largest count among its credit lines, a minimum.How this is detected·Detection ruleset v4 (updated 2026-09-27)

Dependencies

Declared dependencies
19 external dependencies (excludes base and recommended)

Installing progressr adds no packages beyond those that come with R.

Depends (1)
R >= 3.5.0
Imports (2)
toolsutils
LinkingTo (0)
none
Enhances (0)
none

People & History

People (1)
Author, Maintainer since 0.4.0 (2020), Copyright holder
Releases (20)

Pick two releases to compare their code metrics.

  • 1.1.0Latest
    record
    2026-10-18 · current release · diff ↗ ·
    added 1 export
    handler_callback
    ·
    listed once in CRAN's queue
    Seen in one reading of CRAN's incoming queue, at 2026-10-18 16:17 UTC, so it stayed less than the time between readings.
  • 1.0.0
    record
    2026-07-04 · diff ↗ ·
    added 4 exports
    handler_tutorial, slow_sqrt, slow_sqrt_p, slow_sum_p
  • R
    R 4.6.0 released · 2026-04-24
  • 0.19.0
    record
    2026-03-31 · diff ↗ ·
    removed 1 export
    progress
    added 1 export
    handler_brrr
  • 0.18.0
    record
    2025-11-06 · diff ↗
  • 0.17.0
    record
    2025-10-15 · diff ↗
  • 0.16.0
    record
    2025-09-19 · diff ↗ ·
    added 1 export
    handler_slowdown
  • R
    R 4.5.0 released · 2025-04-11
  • 0.15.1
    record
    2024-11-22 · diff ↗
  • 0.15.0
    record
    2024-10-29 · diff ↗ ·
    added 1 export
    handler_ntfy
  • R
    R 4.4.0 released · 2024-04-24
  • 0.14.0
    record
    2023-08-11 · diff ↗
  • R
    R 4.3.0 released · 2023-04-21
  • 0.13.0
    record
    2023-01-10 · diff ↗ ·
    added 1 export
    handler_rpushbullet
  • 0.12.0
    record
    2022-12-13 · diff ↗ ·
    added 1 export
    handler_cli
  • 0.11.0
    record
    2022-09-02 · diff ↗
Show 12 earlier eventsHide 12 earlier events
  • 0.10.1
    record
    2022-06-03 · diff ↗
  • R
    R 4.2.0 released · 2022-04-22
  • 0.10.0
    record
    2021-12-19 · diff ↗
  • 0.9.0
    record
    2021-09-24 · diff ↗
  • 0.8.0
    record
    2021-06-10 · diff ↗ ·
    added 1 export
    handler_rstudio
  • R
    R 4.1.0 released · 2021-05-18
  • 0.7.0
    record
    2020-12-11 · diff ↗ ·
    added 1 export
    handler_pbcol
  • 0.6.0
    record
    2020-05-19 · diff ↗
  • R
    R 4.0.0 released · 2020-04-24
  • 0.5.0
    record
    2020-04-17 · diff ↗ ·
    added 1 export
    handler_void
  • 0.4.0
    record
    2020-01-23
  • R
    R 3.6.0 released · 2019-04-26
Across CRAN, the median accepted release of the past year spent 26 hours in the queue, 90% under 11 days.How queue time is measured

Package metadata

First published
2020-01-23
Total releases
20 / 6 yrs
License
Apache License (>= 2) · relicensed from GPL (>= 3) in 1.0.0
Minimum R
≥ 3.5.0
Download size
650 KB

Cite

Cite this package

Run in R for the authors' preferred citation:

citation("progressr")
Bengtsson, H. (2026). progressr: An Inclusive, Unifying API for Progress Updates (Version 1.1.0) [Computer software]. https://doi.org/10.32614/CRAN.package.progressr

This package has no citation file, so citation() returns this entry built from DESCRIPTION.

The repository also keeps a CITATION.cff.

Cite the R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for progressr version 1.1.0 [Data set]. HJJB, LLC. Data release v2026-10-22. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-22, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy