[package]
name = "biodream"
version = "0.2.7"
edition = "2024"
rust-version = "1.95.0"
description = "Zero-copy, streaming-capable toolkit for reading and writing BIOPAC AcqKnowledge (.acq) files"
repository = "https://github.com/greysquirr3l/biodream"
license = "MIT OR Apache-2.0"
readme = "README.md"
keywords = ["biopac", "acqknowledge", "physiology", "biosignals", "bioread"]
categories = ["science", "parser-implementations", "encoding"]
exclude = [".mcp.json", ".vscode/", ".github/", "deny.toml", "plan.toml", "docs/", "reference_projects/"]
[lib]
name = "biodream"
path = "src/lib.rs"
[[bin]]
name = "biopac"
path = "src/main.rs"
required-features = ["read"]
[features]
std = ["thiserror/std", "binrw/std"]
read = ["std", "dep:flate2"]
write = ["read"]
csv = ["read", "dep:csv"]
arrow = ["read", "dep:arrow-array", "dep:arrow-schema", "dep:arrow-ipc"]
parquet = ["arrow", "dep:parquet"]
hdf5 = ["read", "dep:hdf5"]
serde = ["dep:serde"]
plot = ["read", "dep:plotters"]
physio = []
default = ["read", "csv"]
[dependencies]
binrw = { version = "0.14", default-features = false }
thiserror = { version = "2.0", default-features = false }
flate2 = { version = "1.0", optional = true }
csv = { version = "1.3", optional = true }
serde = { version = "1.0", optional = true, features = ["derive"] }
arrow-array = { version = "58", optional = true }
arrow-schema = { version = "58", optional = true }
arrow-ipc = { version = "58", optional = true }
parquet = { version = "58", optional = true }
hdf5 = { version = "0.8", optional = true }
plotters = { version = "0.3", optional = true, default-features = false, features = ["svg_backend", "bitmap_backend", "bitmap_encoder", "all_series"] }
anyhow = "1.0"
clap = { version = "4.5", features = ["derive"] }
serde_json = "1"
[dev-dependencies]
bytes = "1"
proptest = "1"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]