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
:
toml
[dependencies]
trauma = "2"
```rust use std::path::PathBuf; use trauma::{download::Download, downloader::DownloaderBuilder, Error};
async fn main() -> Result<(), Error> { let reqwestrs = "https://github.com/seanmonstar/reqwest/archive/refs/tags/v0.11.9.zip"; let downloads = vec![Download::tryfrom(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
.