lasprs/Cargo.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"]