A tar archive reading/writing library for async Rust.
Rust
83
516 commits
updated Aug 20, 2026
Based on the great tar-rs.
runtime-async-std: enabled by default, makes this crate compatible with async-stdruntime-tokio: makes this crate compatible with tokioNote: These features are mutually exclusive. Enable only one runtime feature.
use async_std::io::stdin;
use async_std::prelude::*;
use async_tar::Archive;
fn main() {
async_std::task::block_on(async {
let mut ar = Archive::new(stdin());
let mut entries = ar.entries().unwrap();
while let Some(file) = entries.next().await {
let f = file.unwrap();
println!("{}", f.path().unwrap().display());
}
});
}
use async_std::fs::File;
use async_tar::Builder;
fn main() {
async_std::task::block_on(async {
let file = File::create("foo.tar").await.unwrap();
let mut a = Builder::new(file);
a.append_path("README.md").await.unwrap();
a.append_file("lib.rs", &mut File::open("src/lib.rs").await.unwrap())
.await
.unwrap();
a.into_inner().await.unwrap();
});
}
Minimal stable rust version: 1.85
An increase to the MSRV is accompanied by a minor version bump
This project is licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
(top 30 of 47)
Rust
100.0%
A tar archive reading/writing library for async Rust.
Rust
83
516 commits
updated Aug 20, 2026
Based on the great tar-rs.
runtime-async-std: enabled by default, makes this crate compatible with async-stdruntime-tokio: makes this crate compatible with tokioNote: These features are mutually exclusive. Enable only one runtime feature.
use async_std::io::stdin;
use async_std::prelude::*;
use async_tar::Archive;
fn main() {
async_std::task::block_on(async {
let mut ar = Archive::new(stdin());
let mut entries = ar.entries().unwrap();
while let Some(file) = entries.next().await {
let f = file.unwrap();
println!("{}", f.path().unwrap().display());
}
});
}
use async_std::fs::File;
use async_tar::Builder;
fn main() {
async_std::task::block_on(async {
let file = File::create("foo.tar").await.unwrap();
let mut a = Builder::new(file);
a.append_path("README.md").await.unwrap();
a.append_file("lib.rs", &mut File::open("src/lib.rs").await.unwrap())
.await
.unwrap();
a.into_inner().await.unwrap();
});
}
Minimal stable rust version: 1.85
An increase to the MSRV is accompanied by a minor version bump
This project is licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
(top 30 of 47)
Rust
100.0%