[package]
edition = "2024"
rust-version = "1.87"
name = "tensogram"
version = "0.16.0"
authors = ["ECMWF <software@ecmwf.int>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Fast binary N-tensor message format for scientific data — encode, decode, file I/O, streaming"
homepage = "https://sites.ecmwf.int/docs/tensogram/main"
documentation = "https://docs.rs/tensogram"
readme = "README.md"
keywords = [
"tensogram",
"tensor",
"scientific-data",
"encoding",
"serialization",
]
categories = [
"science",
"encoding",
]
license = "Apache-2.0"
repository = "https://github.com/ecmwf/tensogram"
[package.metadata.docs.rs]
all-features = true
[features]
async = ["dep:tokio"]
blosc2 = ["tensogram-encodings/blosc2"]
default = [
"szip",
"zstd",
"lz4",
"blosc2",
"zfp",
"sz3",
"threads",
]
lz4 = ["tensogram-encodings/lz4"]
mmap = ["dep:memmap2"]
remote = [
"dep:object_store",
"dep:url",
"dep:bytes",
"dep:tokio",
"tokio/rt-multi-thread",
]
sz3 = ["tensogram-encodings/sz3"]
szip = ["tensogram-encodings/szip"]
szip-pure = ["tensogram-encodings/szip-pure"]
threads = [
"dep:rayon",
"tensogram-encodings/threads",
]
zfp = ["tensogram-encodings/zfp"]
zstd = ["tensogram-encodings/zstd"]
zstd-pure = ["tensogram-encodings/zstd-pure"]
[lib]
name = "tensogram"
path = "src/lib.rs"
[[test]]
name = "adversarial"
path = "tests/adversarial.rs"
[[test]]
name = "cross_language_pre_encoded"
path = "tests/cross_language_pre_encoded.rs"
[[test]]
name = "edge_cases"
path = "tests/edge_cases.rs"
[[test]]
name = "golden_files"
path = "tests/golden_files.rs"
[[test]]
name = "hash_while_encoding"
path = "tests/hash_while_encoding.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "integration_pre_encoded"
path = "tests/integration_pre_encoded.rs"
[[test]]
name = "remote_http"
path = "tests/remote_http.rs"
[[test]]
name = "strict_finite"
path = "tests/strict_finite.rs"
[[test]]
name = "threads_determinism"
path = "tests/threads_determinism.rs"
[[test]]
name = "threads_proptest"
path = "tests/threads_proptest.rs"
[dependencies.bytes]
version = "1"
optional = true
[dependencies.ciborium]
version = "0.2"
[dependencies.memmap2]
version = "0.9"
optional = true
[dependencies.object_store]
version = "0.13"
features = [
"aws",
"gcp",
"azure",
"http",
]
optional = true
default-features = false
[dependencies.rayon]
version = "1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.tensogram-encodings]
version = "=0.16.0"
default-features = false
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"fs",
"rt",
]
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2"
optional = true
[dependencies.uuid]
version = "1"
features = ["v4"]
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
[dev-dependencies.http-body-util]
version = "0.1"
[dev-dependencies.hyper]
version = "1"
features = [
"server",
"http1",
]
[dev-dependencies.hyper-util]
version = "0.1"
features = ["tokio"]
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.sha2]
version = "0.10"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
]