Progressor
A modern, async-first progress tracking library for Rust.
Features
- Async-first: Built around Rust's async/await and Stream APIs
- Zero-allocation progress updates: Efficient progress reporting
- Flexible progress tracking: Support for current/total, messages, and cancellation
- Type-safe: Full Rust type safety with meaningful error messages
- Lightweight: Minimal dependencies and fast compilation
Usage
Add this to your Cargo.toml:
[]
= "0.0.1"
Basic Example
use ;
use StreamExt;
async
API Reference
ProgressUpdate
Represents a single progress update with:
current: Current progress valuetotal: Total progress valueis_cancelled: Whether the operation was cancelledmessage: Optional progress message
Progress Trait
Trait for types that can report progress via a Stream of ProgressUpdates.
progress() Function
Creates a progress-tracked future from a closure that receives a ProgressUpdater.
License
Licensed under the MIT License. See LICENSE for details.