140 lines
3.5 KiB
TOML
140 lines
3.5 KiB
TOML
[package]
|
|
name = "lasprs"
|
|
version = "0.6.7"
|
|
edition = "2021"
|
|
authors = ["J.A. de Jong <j.a.dejong@ascee.nl>"]
|
|
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.91"
|
|
|
|
# Numerics
|
|
# Optional future feature for ndarray: blas
|
|
ndarray = { version = "0.16.1", features = ["rayon"] }
|
|
|
|
# This is required for HDF5, as it apparently doesn't update anymore.
|
|
ndarray15p6 = { package = "ndarray", version = "0.15.6", features = ["rayon"] }
|
|
|
|
num = "0.4.3"
|
|
# blas-src = { version = "0.8", features = ["openblas"] }
|
|
# openblas-src = { version = "0.10", features = ["cblas", "system"] }
|
|
|
|
# Parallel iterators
|
|
rayon = "1.10.0"
|
|
|
|
# Python bindings
|
|
pyo3 = { version = "0.22.5", optional = true, features = [
|
|
"extension-module",
|
|
"anyhow",
|
|
] }
|
|
# Python bindings for Numpy arrays
|
|
numpy = { version = "0.22.0", optional = true }
|
|
|
|
# White noise etc
|
|
rand = { version = "0.8.5", features = ["small_rng"] }
|
|
rand_distr = "0.4.3"
|
|
|
|
# Cross-platform audio lib
|
|
cpal = { version = "0.15.3", optional = true }
|
|
|
|
# Nice enumerations
|
|
strum = "0.26.3"
|
|
strum_macros = "0.26.4"
|
|
|
|
# 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.4"
|
|
|
|
# Serialization
|
|
serde = { version = "1.0.193", features = ["derive"] }
|
|
toml = "0.8.19"
|
|
|
|
# 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.13.0"
|
|
|
|
# Approximate equal stuff
|
|
approx = "0.5.1"
|
|
|
|
# For getting timestamps. Only useful when recording.
|
|
chrono = { version = "0.4.38", optional = true }
|
|
# For getting UUIDs in recording
|
|
uuid = { version = "1.10.0", features = ["v4"], optional = true }
|
|
|
|
# Command line argument parser, for CLI apps
|
|
clap = { version = "4.5.13", features = [
|
|
"derive",
|
|
"color",
|
|
"help",
|
|
"suggestions",
|
|
] }
|
|
|
|
# FFT's
|
|
realfft = "3.3.0"
|
|
|
|
# Fast Mutex
|
|
parking_lot = "0.12.3"
|
|
|
|
# Builder code
|
|
derive_builder = "0.20.0"
|
|
|
|
# Stack-allocated vectors
|
|
smallvec = "1.13.2"
|
|
|
|
# Compile time constant floating point operations
|
|
softfloat = "1.0.0"
|
|
|
|
[features]
|
|
default = ["f64", "cpal-api", "record"]
|
|
# Use this to test if everything works well in f32
|
|
# default = ["f32", "cpal-api", "record"]
|
|
|
|
# When building Python bindings of Lasprs, you should enable the feature flag
|
|
# "python-bindings". When debugging these, to safe the flag specification you
|
|
# could just uncomment the line below here and comment the one above. If only
|
|
# testing the implementations, or building the extension module, you should
|
|
# call:
|
|
|
|
# $ maturin develop -F python-bindings
|
|
|
|
# Or:
|
|
|
|
# $ maturin develop --release -F python-bindings
|
|
|
|
# For faster code
|
|
|
|
#default = ["f64", "python-bindings", "record", "cpal-api"]
|
|
|
|
pulse-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 = []
|