[package] name = "clawhdf5-remote" version = "2.7.0" edition = "2024" rust-version.workspace = true description = "Read HDF5 files over HTTP(S) range requests and object stores (S3, GCS, Azure) with clawhdf5, through a block cache" license = "MIT" repository = "https://git.redclaw.dev/quantumclaw/clawhdf5" readme = "README.md" keywords = ["hdf5", "http", "s3", "range-requests", "science"] categories = ["science", "network-programming"] [features] # Plain-HTTP range reads and the block cache: pure Rust, no TLS stack, no C. default = ["http"] http = ["dep:ureq"] # HTTPS through rustls (ring provider, Mozilla roots). ring compiles C and # assembly, so this is not part of the default build. https = ["http", "ureq/rustls"] # Any object_store backend (in-memory, local files, or one you configure), # driven by a small tokio runtime the storage owns. Pure Rust. object-store = ["dep:object_store", "dep:tokio", "dep:futures-util"] # s3:// gs:// az:// URLs in open_url, credentials from the environment. # object_store's cloud clients use aws-lc-rs (C), hence opt-in. s3 = ["object-store", "object_store/aws"] gcs = ["object-store", "object_store/gcp"] azure = ["object-store", "object_store/azure"] [dependencies] clawhdf5 = { path = "../clawhdf5", version = "2.7.0" } clawhdf5-format = { path = "../clawhdf5-format", version = "2.7.0" } ureq = { version = "3.4", optional = true, default-features = false } object_store = { version = "0.14", optional = true, default-features = false, features = ["fs"] } tokio = { version = "1", optional = true, default-features = false, features = ["rt-multi-thread"] } futures-util = { version = "0.3", optional = true, default-features = false, features = ["std"] } [dev-dependencies] tempfile = { workspace = true } tokio = { version = "1", default-features = false, features = ["rt"] }