7 releases (4 stable)
| new 1.3.0 | Jan 10, 2026 |
|---|---|
| 1.2.0 | Jan 9, 2026 |
| 1.1.0 | Aug 17, 2025 |
| 0.2.1 | May 9, 2024 |
| 0.1.0 | Nov 24, 2023 |
#750 in Concurrency
62KB
1.5K
SLoC
Retrogress provides thread-safe progress bars with a simple and limited API that can be passed between modules and functions.
This crate provides progress bars that can be passed around, borrowed, or moved between threads, with implementations for both single-threaded and multi-threaded scenarios.
use retrogress::Progress;
use retrogress::{ProgressBar, Sync};
let mut progress = ProgressBar::new(Sync::boxed());
let pb = progress.append("step 1");
progress.println(pb, "Write a line of text above the progress bar");
progress.println(pb, "Write another line");
progress.succeeded(pb);
Retrogress
Retrogress provides thread-safe progress bars with a simple and limited API that can be passed between modules and functions.
This crate is designed for projects that need to share progress bars between different sections of code. It provides implementations for both single-threaded (Sync) and multi-threaded (Parallel) scenarios, allowing progress bars to be passed around, borrowed, or moved between threads.
cargo run --example sync
Dependencies
~1.6–3.5MB
~63K SLoC