91 lines
2.4 KiB
TOML
91 lines
2.4 KiB
TOML
[package]
|
|
name = "lasprs"
|
|
version = "0.3.0"
|
|
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.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.20", optional = true, features = ["extension-module", "anyhow"]}
|
|
numpy = { version = "0.20", 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.25.0"
|
|
strum_macros = "0.25.3"
|
|
|
|
# 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"]
|