29 unstable releases

0.15.1 Jul 16, 2024
0.14.3 May 26, 2023
0.14.1 Mar 21, 2023
0.14.0 Nov 20, 2022
0.1.0 Apr 25, 2019

#88 in Compression

Download history 194/week @ 2024-10-26 187/week @ 2024-11-02 77/week @ 2024-11-09 127/week @ 2024-11-16 160/week @ 2024-11-23 143/week @ 2024-11-30 241/week @ 2024-12-07 207/week @ 2024-12-14 98/week @ 2024-12-21 44/week @ 2024-12-28 156/week @ 2025-01-04 284/week @ 2025-01-11 135/week @ 2025-01-18 122/week @ 2025-01-25 232/week @ 2025-02-01 200/week @ 2025-02-08

729 downloads per month
Used in 13 crates (8 directly)

MIT/Apache

81KB
1.5K SLoC

Coverage Status Documentation

compress-tools

The compress-tools crate aims to provide a convenient and easy to use set of methods which builds on top of libarchive exposing a small set of it’s functionalities.

Platform Build Status
Linux - x86_64 build status
macOS - x86_64 build status
Windows - x86_64 build status

Dependencies

You must have libarchive, 3.2.0 or newer, properly installed on your system in order to use this. If building on *nix and Windows GNU systems, pkg-config is used to locate the libarchive; on Windows MSVC, vcpkg will be used to locating the libarchive.

The minimum supported Rust version is 1.59.

Features

This crate is capable of extracting:

  • compressed files
  • archive files
  • single file from an archive

For example, to extract an archive file it is as simple as:

use compress_tools::*;
use std::fs::File;
use std::path::Path;

let mut source = File::open("tree.tar.gz")?;
let dest = Path::new("/tmp/dest");

uncompress_archive(&mut source, &dest, Ownership::Preserve)?;

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0.3–9.5MB
~85K SLoC