[package]
name = "webdataset"
description = "High-performance sequential dataset loading from tar archives, in the WebDataset format"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
keywords.workspace = true
categories.workspace = true
readme = "README.md"
[dependencies]
webdataset-core = { workspace = true, features = ["std", "json"] }
webdataset-io.workspace = true
webdataset-shard.workspace = true
webdataset-tenbin = { workspace = true, features = ["std"] }
bytes = { workspace = true, features = ["std"] }
flate2.workspace = true
glob.workspace = true
indexmap = { workspace = true, features = ["std"] }
log.workspace = true
rand.workspace = true
regex.workspace = true
serde_json = { workspace = true, features = ["std"] }
ciborium = { workspace = true, optional = true }
image = { workspace = true, optional = true }
rmp-serde = { workspace = true, optional = true }
serde_yaml = { workspace = true, optional = true }
turbojpeg = { version = "1.5", optional = true, default-features = false, features = ["pkg-config", "cmake"] }
zip = { version = "7.1", optional = true, default-features = false, features = ["deflate"] }
futures-core = { version = "0.3", optional = true, default-features = false, features = ["std"] }
futures-io = { version = "0.3", optional = true }
futures-util = { version = "0.3", optional = true, default-features = false, features = ["std", "io"] }
[[bench]]
name = "pipeline"
harness = false
[[example]]
name = "async_pipeline"
required-features = ["async"]
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.4", optional = true }
[dev-dependencies]
criterion = { version = "0.7", default-features = false, features = ["cargo_bench_support"] }
tempfile.workspace = true
futures-channel = "0.3"
futures-executor = "0.3"
[features]
default = ["yaml", "threads", "subprocess"]
threads = ["webdataset-core/threads", "webdataset-shard/threads"]
subprocess = ["webdataset-io/subprocess", "webdataset-shard/subprocess"]
wasm-js = ["dep:getrandom", "getrandom/wasm_js"]
async = ["dep:futures-core", "dep:futures-io", "dep:futures-util", "webdataset-shard/async"]
image = ["dep:image", "webdataset-core/image"]
libjpeg = ["dep:turbojpeg", "image"]
msgpack = ["dep:rmp-serde"]
cbor = ["dep:ciborium"]
npz = ["dep:zip"]
yaml = ["dep:serde_yaml"]
zstd = ["webdataset-shard/zstd"]
bzip2 = ["webdataset-shard/bzip2"]
xz = ["webdataset-shard/xz"]
full = ["image", "msgpack", "cbor", "npz", "yaml", "threads", "subprocess", "async", "zstd", "bzip2", "xz"]
[lints]
workspace = true
[package.metadata.docs.rs]
features = ["full"]
rustdoc-args = ["--cfg", "docsrs"]