Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brookjeynes/progress
A simple thread safe progress bar and spinner library
https://github.com/brookjeynes/progress
cli zig zig-package
Last synced: about 2 months ago
JSON representation
A simple thread safe progress bar and spinner library
- Host: GitHub
- URL: https://github.com/brookjeynes/progress
- Owner: BrookJeynes
- License: mit
- Created: 2024-08-08T14:08:38.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-10-28T01:08:40.000Z (3 months ago)
- Last Synced: 2024-11-25T12:43:01.429Z (2 months ago)
- Topics: cli, zig, zig-package
- Language: Zig
- Homepage:
- Size: 30.3 KB
- Stars: 6
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# progress
A simple thread safe progress bar and spinner library.
![Recording](https://github.com/user-attachments/assets/227297c4-15a5-4c68-a8bc-49d7e1505a79)
## Adding to your program
1. Fetch the package.
`zig fetch --save git+https://github.com/BrookJeynes/progress`
2. Add to your `build.zig`.
```zig
const progress = b.dependency("progress", .{}).module("progress");
exe.root_module.addImport("progress", progress);
```## Minimal example
```zig
const std = @import("std");
const ProgressBar = @import("progress").Bar;
const ProgressSpinner = @import("progress").Spinner;pub fn bar() !void {
const stdout = std.io.getStdOut().writer();
var pb = ProgressBar.init(10, stdout.any(), .{});while (!pb.isFinished()) {
pb.add(1);
try pb.render();std.time.sleep(std.time.ns_per_ms * 150);
}
}pub fn spinner() !void {
const stdout = std.io.getStdOut().writer();
var ps = ProgressSpinner.init(stdout.any(), .{
.symbols = ProgressSpinner.PredefinedSymbols.default,
});var iterations: usize = 0;
while (!ps.isFinished()) {
iterations += 1;
try ps.render();if (iterations == 20) try ps.finish();
std.time.sleep(std.time.ns_per_ms * 150);
}
}
```You can find more examples in the `examples/` folder.
For more information, see the source code or documentation (`zig build docs`).## Contributing
Contributions, issues, and feature requests are always welcome! This project is
using the latest stable release of Zig (0.13.0).