8 releases

0.4.3+SZ3-3.3.2 Dec 9, 2025
0.4.2+SZ3-3.3.2 Nov 25, 2025
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

#229 in Compression

Download history 25/week @ 2025-09-15 136/week @ 2025-09-22 18/week @ 2025-09-29 10/week @ 2025-10-06 193/week @ 2025-10-13 31/week @ 2025-10-20 13/week @ 2025-10-27 217/week @ 2025-11-03 48/week @ 2025-11-10 13/week @ 2025-11-17 57/week @ 2025-11-24 15/week @ 2025-12-01 27/week @ 2025-12-08 11/week @ 2025-12-15 15/week @ 2025-12-22

53 downloads per month
Used in numcodecs-sz3

MIT/Apache and GPL-3.0-only

220KB
4.5K SLoC

C++ 2.5K SLoC // 0.1% comments Python 1K SLoC // 0.2% comments Rust 1K SLoC // 0.0% comments Cython 293 SLoC // 0.2% comments

sz3-rs

High level bindings to the SZ3 lossy floating point compressor.

Usage

use sz3::{compress_with_config, decompress, Config, DimensionedData, ErrorBound, SZ3Error};

fn main() -> Result<(), SZ3Error> {
    let data = vec![0.0_f32; 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)?;
    
    Ok(())
}

Dependencies

~2.7–5.5MB
~99K SLoC