[package] name = "lasprs" version = "0.3.0" edition = "2021" authors = ["J.A. de Jong "] description = "Library for Acoustic Signal Processing (Rust edition, with optional Python bindings via pyo3)" readme = "README.md" repository = "https://code.ascee.nl/ascee/lasprs" license = "MIT OR Apache-2.0" keywords = ["dsp", "audio", "measurement", "acoustics", "filter"] categories = ["multimedia::audio", "science", "mathematics"] [lib] name = "lasprs" crate-type = ["cdylib", "rlib",] [dependencies] # Error handling anyhow = "1.0.75" # Numerics # Optional future feature for ndarray: blas ndarray = { version = "0.15.3", features = ["rayon"] } num = "0.4.1" # blas-src = { version = "0.8", features = ["openblas"] } # openblas-src = { version = "0.10", features = ["cblas", "system"] } # Parallel iterators rayon = "1.8.0" # Python bindings pyo3 = { version = "0.21.2", optional = true, features = ["extension-module", "anyhow"]} numpy = { version = "0.21.0", optional = true} # White noise etc rand = "0.8.5" rand_distr = "0.4.3" # Cross-platform audio lib cpal = { version = "0.15.3", optional = true } # Nice enumerations strum = "0.26.2" strum_macros = "0.26.2" # Conditional compilation enhancements cfg-if = "1.0.0" # Reinterpret buffers. This is a workaround for the #[feature(specialize)] not # being available in stable rust. reinterpret = "0.2.1" # Faster channels for multithreaded communication crossbeam = "0.8.2" # Serialization serde = { version = "1.0.193", features = ["derive"] } toml = "0.8.8" # Initialize array for non-copy type array-init = "2.1.0" # Types of a sample dasp_sample = "0.11.0" # Required for recording and looking into measurements hdf5-sys = { version = "0.8.1", features = ["static"], optional = true } hdf5 = { version = "0.8.1", optional = true } # Useful iterator stuff itertools = "0.12.0" # For getting timestamps. Only useful when recording. chrono = {version = "0.4.31", optional = true} # For getting UUIDs in recording uuid = { version = "1.6.1", features = ["v4"] , optional = true} # Command line argument parser, for CLI apps clap = { version = "4.4.11", features = ["derive", "color", "help", "suggestions"] } [features] # default = ["f64", "cpal-api", "record"] # Use this for debugging extensions default = ["f64", "python-bindings", "record", "cpal-api"] cpal-api = ["dep:cpal"] record = ["dep:hdf5-sys", "dep:hdf5", "dep:chrono", "dep:uuid"] f64 = [] f32 = [] python-bindings = ["dep:pyo3", "dep:numpy"] extension-module = []