Crates.io | trauma |
lib.rs | trauma |
version | 2.2.6 |
source | src |
created_at | 2022-03-29 15:44:58.805122 |
updated_at | 2024-11-14 15:06:15.351415 |
description | Simplify and prettify HTTP downloads |
homepage | https://github.com/rgreinho/trauma |
repository | https://github.com/rgreinho/trauma |
max_upload_size | |
id | 558583 |
size | 400,262 |
Tokio Rust Asynchronous Universal download MAnager
Trauma is a library simplifying and prettifying HTTP(s) downloads. The downloads are executed asynchronously and progress bars are drawn on the screen to help monitoring the process.
Add this to your Cargo.toml
:
[dependencies]
trauma = "2"
use std::path::PathBuf;
use trauma::{download::Download, downloader::DownloaderBuilder, Error};
#[tokio::main]
async fn main() -> Result<(), Error> {
let reqwest_rs = "https://github.com/seanmonstar/reqwest/archive/refs/tags/v0.11.9.zip";
let downloads = vec![Download::try_from(reqwest_rs).unwrap()];
let downloader = DownloaderBuilder::new()
.directory(PathBuf::from("output"))
.build();
downloader.download(&downloads).await;
Ok(())
}
More examples can be found in the examples folder. They are well commented and will guide you through the different features of this library.
Before starting this project, I spent some time searching the internet, trying not to reinvent the wheel. And I did find a bunch of interesting existing projects!
However they are almost all abandoned:
As a result, I decided to write trauma
.