Crate compress_tools[−][src]
Expand description
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 | |
| Linux - AArch64 | |
| Linux - ARMv7 | |
| macOS - x86_64 | |
| Windows - x86_64 |
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.46.
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)?;
Modules
Generic async support with which you can use you own thread pool by
implementing the BlockingExecutor trait.
Async support with a built-in thread pool.
Async support that uses tokio::task::spawn_blocking and its I/O traits.
Structs
An iterator over the contents of an archive.
Enums
The contents of an archive, yielded in order from the beginning to the end of the archive.
Determine the ownership behavior when unpacking the archive.
Functions
Get all files in a archive using source as a reader.
Uncompress an archive using source as a reader and dest as the
destination directory.
Uncompress a specific file from an archive. The source is used as a
reader, the target as a writer and the path is the relative path for
the file to be extracted from the archive.
Uncompress a file using the source need as reader and the target as a
writer.