Skip to content

A Swiss Army Knife for handling compressed data in Rust

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

afdw/compress-tools-rs

 
 

Repository files navigation

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.

About

A Swiss Army Knife for handling compressed data in Rust

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%