#xz #lzma #encoding #wasm #api-bindings

liblzma

Rust bindings to liblzma providing Read/Write streams as well as low-level in-memory encoding/decoding. forked from xz2.

9 releases

0.3.1 Apr 10, 2024
0.3.0 Feb 26, 2024
0.2.3 Feb 17, 2024
0.2.2 Jan 8, 2024
0.1.9 Sep 28, 2023

#104 in Compression

Download history 192/week @ 2023-12-31 533/week @ 2024-01-07 582/week @ 2024-01-14 590/week @ 2024-01-21 201/week @ 2024-01-28 676/week @ 2024-02-04 1144/week @ 2024-02-11 1680/week @ 2024-02-18 1042/week @ 2024-02-25 1023/week @ 2024-03-03 387/week @ 2024-03-10 1064/week @ 2024-03-17 580/week @ 2024-03-24 1222/week @ 2024-03-31 3065/week @ 2024-04-07 3096/week @ 2024-04-14

8,124 downloads per month
Used in 4 crates (2 directly)

MIT/Apache

1.5MB
34K SLoC

C 25K SLoC // 0.3% comments Rust 5.5K SLoC // 0.0% comments Shell 769 SLoC // 0.3% comments M4 734 SLoC // 0.4% comments Automake 639 SLoC // 0.1% comments GNU Style Assembly 306 SLoC // 0.4% comments BASH 261 SLoC // 0.3% comments Bitbake 246 SLoC // 0.1% comments Batch 30 SLoC

liblzma

CI Crates.io

Documentation

Bindings to the liblzma implementation in Rust, also provides types to read/write xz streams.

This crate is forked from xz2 and liblzma = "0.1.x" is fully compatible with xz2 = "0.1.7", so you can migrate simply.

Migrate from xz2

# Cargo.toml
[dependencies]
-xz2 = "0.1.7"
+liblzma = "0.1.7"
// *.rs
-use xz2;
+use liblzma;

Version 0.2.x breaking changes

  • XZ upgraded to 5.4
  • Multithreading is disabled by default. This feature is available by enabling the parallel feature
  • Support compile to webassembly

Version 0.3.x breaking changes

  • XZ upgraded to 5.6

License

This project is licensed under either of

at your option.

Contribution

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

Dependencies