[package] name = "clawhdf5" version = "2.7.0" edition = "2024" rust-version.workspace = true description = "Pure-Rust HDF5 reader/writer — no C dependencies" license = "MIT" repository = "https://git.redclaw.dev/quantumclaw/clawhdf5" readme = "README.md" keywords = ["hdf5", "science", "data", "binary"] categories = ["parser-implementations", "science", "encoding"] [dependencies] clawhdf5-format = { path = "../clawhdf5-format", version = "2.7.0" } clawhdf5-io = { path = "../clawhdf5-io", version = "2.7.0" } rayon = { version = "1", optional = true } [dev-dependencies] tempfile = { workspace = true } criterion = { workspace = true } clawhdf5-io = { path = "../clawhdf5-io", version = "2.7.0", features = ["mmap"] } clawhdf5-format = { path = "../clawhdf5-format", version = "2.7.0", features = ["parallel", "fast-checksum"] } clawhdf5-filters = { path = "../clawhdf5-filters", version = "2.7.0" } [[bench]] name = "mmap_bench" harness = false [[bench]] name = "parallel_bench" harness = false [features] default = ["mmap", "provenance", "lzf"] mmap = ["clawhdf5-io/mmap"] parallel = ["clawhdf5-format/parallel", "rayon"] # zlib-ng (C, needs cmake) instead of the default pure-Rust zlib-rs. fast-deflate = ["clawhdf5-format/fast-deflate"] apple-compression = [] zstd = ["clawhdf5-format/zstd"] blake3_hash = ["clawhdf5-format/blake3_hash"] lz4 = ["clawhdf5-format/lz4"] pcodec = ["clawhdf5-format/pcodec"] # Plugin filters, pure Rust (no C). LZF (32000) is h5py's built-in # compression; it has no dependencies, so it is on by default. lzf = ["clawhdf5-format/lzf"] bitshuffle = ["clawhdf5-format/bitshuffle"] bzip2 = ["clawhdf5-format/bzip2"] blosc = ["clawhdf5-format/blosc"] # Every plugin filter. plugin-filters = ["lzf", "bitshuffle", "bzip2", "blosc"] # Dataset::verify_provenance() — recompute a dataset's SHA-256 and compare # against its stored _provenance_sha256 attribute. On by default, matching # clawhdf5-format's own default-on `provenance` feature. provenance = ["clawhdf5-format/provenance"] [package.metadata.docs.rs] features = ["mmap"] targets = ["x86_64-unknown-linux-gnu"]