#sz3 #compressor

sz3

High level bindings to the SZ3 lossy floating point compressor

4 releases (2 breaking)

0.3.0+SZ3-3.2.2 Jan 8, 2025
0.2.0+SZ3-3.2.1 Dec 9, 2024
0.1.1+SZ3-3.1.8.1 May 28, 2024
0.1.0+SZ3-3.1.8 May 22, 2024

#189 in Compression

Download history 69/week @ 2024-12-16 229/week @ 2025-01-06 34/week @ 2025-01-13 175/week @ 2025-01-20 711/week @ 2025-01-27 367/week @ 2025-02-03 116/week @ 2025-02-10 111/week @ 2025-02-17 102/week @ 2025-02-24 25/week @ 2025-03-03 122/week @ 2025-03-10 201/week @ 2025-03-17 372/week @ 2025-03-24 236/week @ 2025-03-31

945 downloads per month
Used in numcodecs-sz3

MIT/Apache and GPL-3.0-only

4.5MB
39K SLoC

C 35K SLoC // 0.2% comments C++ 2K SLoC // 0.1% comments Rust 1K SLoC // 0.0% comments Visual Studio Project 180 SLoC Python 79 SLoC // 0.3% comments Objective-C 69 SLoC Visual Studio Solution 24 SLoC Batch 19 SLoC Shell 13 SLoC

sz3-rs

High level bindings to the SZ3 lossy floating point compressor.

Usage

let data = vec![0; 64 * 64 * 64];
let data = DimensionedData::build(&data)
    .dim(64)?
    .dim(64)?
    .remainder_dim()?;
let config = Config::new(ErrorBound::Absolute(0.02));
let compressed = compress_with_config(&data, &config);
let decompressed = decompress::<f32, _>(&*compressed);

Dependencies

~2.8–5.5MB
~104K SLoC