#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.

10 releases

0.3.2 May 30, 2024
0.3.1 Apr 10, 2024
0.3.0 Feb 26, 2024
0.2.3 Feb 17, 2024
0.1.9 Sep 28, 2023

#89 in Compression

Download history 682/week @ 2024-03-13 821/week @ 2024-03-20 952/week @ 2024-03-27 1405/week @ 2024-04-03 3474/week @ 2024-04-10 3500/week @ 2024-04-17 1661/week @ 2024-04-24 3568/week @ 2024-05-01 1407/week @ 2024-05-08 1862/week @ 2024-05-15 1902/week @ 2024-05-22 2624/week @ 2024-05-29 2904/week @ 2024-06-05 3009/week @ 2024-06-12 2358/week @ 2024-06-19 1951/week @ 2024-06-26

10,501 downloads per month
Used in 8 crates (5 directly)

MIT/Apache

1.5MB
34K SLoC

C 26K SLoC // 0.3% comments Rust 5.5K SLoC // 0.0% comments M4 734 SLoC // 0.4% comments Automake 639 SLoC // 0.1% comments Shell 576 SLoC // 0.3% comments BASH 454 SLoC // 0.3% comments GNU Style Assembly 306 SLoC // 0.4% 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