#compression #archive

compress-tools

Utility functions for compressed and archive files handling

11 releases (6 breaking)

new 0.7.1 Sep 15, 2020
0.6.0 Jun 28, 2020
0.2.0 Jan 30, 2020
0.1.2 Aug 29, 2019
0.1.0 Apr 25, 2019

#20 in Compression

Download history 15/week @ 2020-05-26 34/week @ 2020-06-02 31/week @ 2020-06-09 324/week @ 2020-06-16 243/week @ 2020-06-23 122/week @ 2020-06-30 115/week @ 2020-07-07 152/week @ 2020-07-14 117/week @ 2020-07-21 408/week @ 2020-07-28 328/week @ 2020-08-04 409/week @ 2020-08-11 205/week @ 2020-08-18 101/week @ 2020-08-25 102/week @ 2020-09-01 49/week @ 2020-09-08

859 downloads per month
Used in find-binary-version

MIT/Apache

68KB
836 lines

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
Linux - AArch64 build status
Linux - ARMv7 build status
macOS - x86_64 build status
Windows - x86_64 build status

Dependencies

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

The minimum supported Rust version is 1.42.

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.4–1.6MB
~34K SLoC