bliss-rs/Cargo.toml

97 lines
2.8 KiB
TOML

[package]
name = "bliss-rs"
version = "0.6.9"
build = "build.rs"
authors = ["Polochon-street <polochonstreet@gmx.fr>"]
edition = "2021"
license = "GPL-3.0-only"
description = "A song analysis library for making playlists"
homepage = "https://lelele.io/bliss.html"
repository = "https://github.com/Polochon-street/bliss-rs"
keywords = ["audio", "analysis", "MIR", "playlist", "similarity"]
readme = "README.md"
exclude = ["index.node"]
[lib]
crate-type = ["rlib", "cdylib"]
[package.metadata.docs.rs]
features = ["bliss-audio-aubio-rs/rustdoc", "library"]
no-default-features = true
[features]
default = ["bliss-audio-aubio-rs/static"]
# Build ffmpeg instead of using the host's.
build-ffmpeg = ["ffmpeg-next/build"]
ffmpeg-static = ["ffmpeg-next/static"]
# Build for raspberry pis
rpi = ["ffmpeg-next/rpi"]
# Use if you get "No prebuilt bindings. Try use `bindgen` feature"
update-aubio-bindings = ["bliss-audio-aubio-rs/bindgen"]
# Use if you want to build python bindings with maturin.
python-bindings = ["bliss-audio-aubio-rs/fftw3"]
# Enable the benchmarks with `cargo +nightly bench --features=bench`
bench = []
library = [
"serde", "dep:rusqlite", "dep:dirs", "dep:tempdir",
"dep:anyhow", "dep:serde_ini", "dep:serde_json",
"dep:indicatif",
]
serde = ["dep:serde"]
[dependencies]
# Until https://github.com/aubio/aubio/issues/336 is somehow solved
# Hopefully we'll be able to use the official aubio-rs at some point.
bliss-audio-aubio-rs = "0.2.1"
crossbeam = "0.8.2"
ffmpeg-next = "6.0.0"
ffmpeg-sys-next = { version = "6.0.1", default-features = false }
log = "0.4.17"
ndarray = { version = "0.15.6", features = ["rayon"] }
num_cpus = "1.15.0"
ndarray-stats = "0.5.1"
noisy_float = "0.2.0"
ripemd = "0.1.3"
rustfft = "6.1.0"
thiserror = "1.0.40"
strum = "0.24.1"
strum_macros = "0.24.3"
rcue = "0.1.3"
# Deps for the library feature
serde = { version = "1.0", optional = true, features = ["derive"] }
serde_json = { version = "1.0.59", optional = true }
serde_ini = { version = "0.2.0", optional = true }
tempdir = { version = "0.3.7", optional = true }
rusqlite = { version = "0.28.0", optional = true }
dirs = { version = "5.0.0", optional = true }
anyhow = { version = "1.0.58", optional = true }
indicatif = { version = "0.17.0", optional = true }
[dependencies.neon]
version = "1.0.0-alpha.4"
default-features = false
features = ["napi-6", "channel-api", "promise-api", "try-catch-api"]
[dev-dependencies]
ndarray-npy = { version = "0.8.1", default-features = false }
mime_guess = "2.0.3"
glob = "0.3.0"
anyhow = "1.0.45"
clap = "2.33.3"
pretty_assertions = "1.3.0"
serde_json = "1.0.59"
[[example]]
name = "library"
required-features = ["library"]
[[example]]
name = "library_extra_info"
required-features = ["library"]
[[example]]
name = "playlist"
required-features = ["serde"]