[package]
edition = "2024"
name = "lasprs"
version = "0.14.2"
authors = ["J.A. de Jong <j.a.dejong@ascee.nl>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Library for Acoustic Signal Processing (Rust edition, with optional Python bindings via pyo3)"
readme = "README.md"
keywords = [
"dsp",
"audio",
"measurement",
"acoustics",
"filter",
]
categories = [
"multimedia::audio",
"science",
"mathematics",
]
license = "MIT OR Apache-2.0"
repository = "https://code.ascee.nl/ascee/lasprs"
[package.metadata.docs.rs]
default-features = false
features = ["f64"]
targets = ["x86_64-unknown-linux-gnu"]
[features]
cpal-api = ["dep:cpal"]
default = ["cpal-api"]
f32 = []
f64 = []
loopback-api = []
pulse-api = []
python-bindings = [
"dep:pyo3",
"dep:numpy",
"dep:pyo3-stub-gen",
]
python-bindings-nostandalone = ["python-bindings"]
test_features = ["loopback-api"]
uldaq-api = ["dep:uldaqrs"]
[lib]
name = "lasprs"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[bin]]
name = "lasp_devinfo"
path = "src/bin/lasp_devinfo.rs"
[[bin]]
name = "lasp_inputdefault"
path = "src/bin/lasp_inputdefault.rs"
[[bin]]
name = "lasp_output"
path = "src/bin/lasp_output.rs"
[[bin]]
name = "lasp_outputdefault"
path = "src/bin/lasp_outputdefault.rs"
[[bin]]
name = "lasp_record"
path = "src/bin/lasp_record.rs"
[[bin]]
name = "stub_gen"
path = "src/bin/stub_gen.rs"
required-features = ["python-bindings"]
[[example]]
name = "record_and_analyze"
path = "examples/record_and_analyze.rs"
[[example]]
name = "simple_record_analyze"
path = "examples/simple_record_analyze.rs"
required-features = [
"record",
"cpal-api",
]
[dependencies.anyhow]
version = "1.0.104"
[dependencies.approx]
version = "0.5.1"
[dependencies.argh]
version = "0.1.19"
[dependencies.array-init]
version = "2.1.0"
[dependencies.chrono]
version = "0.4"
[dependencies.crossbeam]
version = "0.8.4"
[dependencies.dasp_sample]
version = "0.11.0"
[dependencies.derive_builder]
version = "0.20.2"
[dependencies.derive_more]
version = "2.1.1"
features = ["display"]
[dependencies.enum_dispatch]
version = "0.3.13"
[dependencies.fft-convolver]
version = "0.4.0"
[dependencies.gag]
version = "1.0.0"
[dependencies.hdf5-metno]
version = "0.14.0"
features = [
"complex",
"static",
]
[dependencies.hound]
version = "3.5"
[dependencies.itertools]
version = "0.15"
[dependencies.ndarray]
version = "0.17.2"
features = [
"rayon",
"serde",
]
[dependencies.ndarray-interp]
version = "0.6.0"
[dependencies.num]
version = "0.4.3"
[dependencies.numpy]
version = "0.29.0"
optional = true
[dependencies.oneshot]
version = "0.2.1"
features = ["std"]
default-features = false
[dependencies.parking_lot]
version = "0.12.5"
[dependencies.pkg-version]
version = "1.0.0"
[dependencies.pyo3]
version = "0.29"
features = [
"extension-module",
"anyhow",
]
optional = true
[dependencies.pyo3-stub-gen]
version = "0.23"
features = ["numpy"]
optional = true
[dependencies.rand]
version = "0.10"
[dependencies.rand_distr]
version = "0.6.0"
[dependencies.rayon]
version = "1.12.0"
[dependencies.realfft]
version = "3.5.0"
[dependencies.reinterpret]
version = "0.2.1"
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.smallvec]
version = "1.15.2"
[dependencies.snafu]
version = "0.9"
[dependencies.softfloat]
version = "1.0.0"
[dependencies.strum]
version = "0.28.0"
[dependencies.strum_macros]
version = "0.28.0"
[dependencies.thread-priority]
version = "3"
[dependencies.toml]
version = "1.1"
[dependencies.trace]
version = "0.1.7"
optional = true
[dependencies.triple_buffer]
version = "9.0.0"
[dependencies.uldaqrs]
version = "0.1.0"
optional = true
[dependencies.uuid]
version = "1.24"
features = [
"v4",
"serde",
]
[dev-dependencies.tempfile]
version = "3.27.0"
[target.'cfg(target_family = "unix")'.dependencies.cpal]
version = "0.18.1"
features = ["pipewire"]
optional = true
default-features = false
[target.'cfg(target_family = "windows")'.dependencies.cpal]
version = "0.18.1"
features = ["asio"]
optional = true
[profile.dev]
debug = 0
incremental = true
[profile.dev.package."*"]
opt-level = 3
[profile.release]
opt-level = 3
lto = "thin"
strip = true