| Crates.io | tasuku-rs |
| lib.rs | tasuku-rs |
| version | 0.1.0 |
| created_at | 2025-11-20 12:02:28.608232+00 |
| updated_at | 2025-11-20 12:02:28.608232+00 |
| description | A beautiful task runner for Rust, inspired by the JavaScript tasuku library |
| homepage | |
| repository | https://github.com/Maidang1/tasuku-rs |
| max_upload_size | |
| id | 1941871 |
| size | 37,859 |
A lightweight task management and terminal rendering library inspired by tasuku, built with Rust and Tokio. Supports task state updates, hierarchical tasks, progressive rendering in TTY-enabled terminals, and plain text output in CI environments.
Pending, Loading, Success, Warning, ErrorAdd this to your Cargo.toml:
[dependencies]
tasuku-rs = "0.1.0"
use tasuku::{Tasuku, TaskState};
#[tokio::main]
async fn main() {
let t = Tasuku::new();
let task = t.task("Example Task", |api| async move {
api.set_status(Some("Processing".to_string()));
tokio::time::sleep(std::time::Duration::from_millis(500)).await;
api.set_output("Output content");
}).await;
assert_eq!(task.state(), TaskState::Success);
}
# Clone the repository
git clone https://github.com/Maidang1/tasuku-rs.git
cd tasuku-rs
# Build the project
cargo build
# Run examples
cargo run --example demo
tokio - Async runtimecrossterm - Terminal manipulationconsole - Terminal utilitiesfutures - Async utilitiesparking_lot - Synchronization primitivesonce_cell - Lazy static initializationThis project uses GitHub Actions for automatic publishing to crates.io. See the setup guide for more information.
This project is licensed under the MIT License - see the LICENSE file for details.
Inspired by tasuku - A minimal task runner for Node.js