11 unstable releases
Uses new Rust 2024
| 0.6.0 | Jan 23, 2026 |
|---|---|
| 0.5.1 | Oct 22, 2025 |
| 0.5.0 | Sep 2, 2024 |
| 0.4.2 | Aug 24, 2021 |
| 0.1.1 | Dec 24, 2019 |
#28 in Compression
166,698 downloads per month
Used in 43 crates
(18 directly)
165KB
3.5K
SLoC
async-tar
Based on the great tar-rs.
Features
runtime-async-std: enabled by default, makes this crate compatible withasync-stdruntime-tokio: makes this crate compatible withtokio
Note: These features are mutually exclusive. Enable only one runtime feature.
Reading an archive
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());
}
});
}
Writing an archive
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();
});
}
MSRV
Minimal stable rust version: 1.85
An increase to the MSRV is accompanied by a minor version bump
License
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
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.
Dependencies
~0.1–5.5MB
~118K SLoC