#lzma #streaming #toa

no-std libtoa

TOA compression file format library. Modern compression with built-in error correction

5 releases (3 breaking)

Uses new Rust 2024

0.4.0 Oct 1, 2025
0.3.0 Aug 31, 2025
0.2.1 Aug 23, 2025
0.2.0 Aug 23, 2025
0.1.0 Aug 21, 2025

#1001 in Compression

Download history 328/week @ 2025-08-20 124/week @ 2025-08-27 21/week @ 2025-09-03 5/week @ 2025-09-10 1/week @ 2025-09-17 2/week @ 2025-09-24 150/week @ 2025-10-01 16/week @ 2025-10-08 14/week @ 2025-10-15 4/week @ 2025-10-22

184 downloads per month
Used in toa

Apache-2.0

510KB
12K SLoC

TOA Compression File Format

This project implements the TOA compression file format, an experimental compression format designed for streaming operation, parallel processing and corruption resilience. The format uses LZMA as the primary compression algorithm with BLAKE3 cryptographic hashing and Reed-Solomon error correction codes.

Specification

The specification of the file format version 1.0 is finished and can be read in the SPECIFICATION.md in the source repository.

Acknowledgement

  • The lzma code is a hard copy of the lzma-rust crate (Apache 2 license).
  • Original Author of the lzma-rust crate was dyz1990 (Apache 2 license).
  • The lzma-rust2 crate was a rewrite of the XZ for Java by Lasse Collin (0BSD).
  • Major parts of XZ for Java are based on code written by Igor Pavlov in the LZMA SDK (public domain).

License

Licensed under the Apache License, Version 2.0.


libtoa

Crate Documentation

Library to compress & decompress TOA files (.toa).

Acknowledgement

  • The lzma code is a hard copy of the lzma-rust crate of it's LZMA and BCJ / Delta code (Apache 2 license).
  • Original Author of the lzma-rust crate was dyz1990 (Apache 2 license).
  • The lzma-rust2 crate was a rewrite of the XZ for Java by Lasse Collin (0BSD).
  • Major parts of XZ for Java are based on code written by Igor Pavlov in the LZMA SDK (public domain).

License

Licensed under the Apache License, Version 2.0.

Dependencies

~2MB
~44K SLoC