21 个版本 (4 个破坏性版本)
0.6.5 | 2023 年 7 月 13 日 |
---|---|
0.6.4 | 2023 年 7 月 12 日 |
0.5.1 | 2023 年 7 月 5 日 |
0.4.4 | 2023 年 7 月 1 日 |
0.1.0 |
|
在 命令行界面 中排名第 694
每月下载 165 次
用于 avance-cli
33KB
604 行(不包括注释)
一个用于在命令行应用程序中轻松显示进度条的 Rust 库。
avance 提供开箱即用的进度条实用工具,轻量级、用户友好,可以在并发环境中放心使用。
示例
lib.rs
:
avance 是一个 Rust 库,帮助您在命令行应用程序中轻松报告进度。它支持在并发程序中跟踪进度,并提供了各种自定义进度条的实用工具。
avance 在西班牙语中意为“前进”或“进步”。这个命名灵感来自 tqdm,其命名来自阿拉伯语。
以下是一个使用 avance 在多个线程中的示例
平台支持
- Linux
- macOS
- Windows
进度条
AvanceBar
满足常见的跟踪进度需求。它可以显示必要的进度统计信息,并且可以用有界或无界的方式使用。
use avance::AvanceBar;
let pb = AvanceBar::new(100);
for _ in 0..100 {
// ...
pb.inc();
}
// Don't need to close a bar manually. It will close automatically when being dropped.
您可以调整进度条的宽度、样式和其他许多配置。
use avance::{AvanceBar, Style};
let pb = AvanceBar::new(100)
.with_style(Style::Balloon)
.with_width(80)
.with_desc("avance");
// Use a progress bar along with an iterator, eliminating the need for invoking inc or update.
for _ in pb.with_iter(0..100) {
// ...
}
行为
迭代器
进度条也可以与迭代器关联。
use avance::{AvanceIterator, Style};
for _ in (0..100).avance().with_style(Style::ASCII).with_width(80) {
// ...
}
// avance provides the flexibility of changing a progress bar when iterating
for (_, pb) in (0..100).avance().with_pb() {
// ...
pb.set_postfix("");
}
样式
avance提供了多种预定义的进度条样式(在Style
),同时允许用户根据他们的偏好轻松地进行自定义。
for _ in (0..1000).avance().with_style_str("=>-") {
// ...
}
待办事项
- io管道的进度条
- 用于非常缓慢的进度条的监控器
依赖
~1.4–10MB
~83K SLoC