[package]
edition = "2024"
rust-version = "1.85"
name = "ruopus"
version = "0.1.2"
authors = ["Jack Geraghty <jgeraghty049@gmail.com>"]
build = false
exclude = [
"/manual/*",
"/tests/*",
"/examples/*",
"/benches/*",
"/tools/*",
"/target/*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A pure-Rust implementation of the Opus audio codec (RFC 6716). No FFI; unsafe confined to documented SIMD kernels."
documentation = "https://docs.rs/ruopus"
readme = "README.md"
keywords = [
"opus",
"audio",
"codec",
"decoder",
"rfc6716",
]
categories = [
"multimedia::audio",
"multimedia::encoding",
"no-std",
]
license = "MIT"
repository = "https://github.com/jmg049/ruopus"
[features]
default = [
"std",
"spectrograms",
]
libm = ["dep:libm"]
python = [
"std",
"spectrograms",
"dep:pyo3",
"dep:numpy",
]
spectrograms = [
"std",
"dep:spectrograms",
]
std = []
[lib]
name = "ruopus"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[dependencies.libm]
version = "0.2"
optional = true
[dependencies.numpy]
version = "0.29.0"
optional = true
[dependencies.pyo3]
version = "0.29.0"
features = [
"extension-module",
"multiple-pymethods",
"experimental-inspect",
]
optional = true
default-features = false
[dependencies.spectrograms]
version = "2.0.0"
features = ["realfft"]
optional = true
default-features = false
[dev-dependencies.opus]
version = "0.3"
[lints.clippy]
missing_errors_doc = "warn"
missing_panics_doc = "warn"
must_use_candidate = "warn"
undocumented_unsafe_blocks = "deny"
[lints.rust]
missing_docs = "warn"
unsafe_code = "deny"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"