[build-system]
requires = ["maturin>=1.7,<2.0"]
build-backend = "maturin"

[project]
name = "audio-samples-qoe"
description = "Perceptual audio quality metrics (ViSQOL MOS-LQO) — pure-Rust implementation with Python bindings"
readme = "python/README.md"
requires-python = ">=3.10"
authors = [{ name = "Jack Geraghty", email = "jgeraghty049@gmail.com" }]
license = "MIT"
keywords = ["audio", "quality", "visqol", "mos", "speech", "dsp"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "Intended Audience :: Science/Research",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: 3.14",
    "Programming Language :: Rust",
    "Topic :: Multimedia :: Sound/Audio :: Analysis",
    "Typing :: Typed",
]
dependencies = [
    "numpy>=1.23",
    "audio_samples>=0.2.3",
]
dynamic = ["version"]

[project.urls]
Homepage = "https://github.com/jmg049/audio_samples_qoe"
Repository = "https://github.com/jmg049/audio_samples_qoe"
Documentation = "https://github.com/jmg049/audio_samples_qoe"

[tool.maturin]
features = ["python"]
module-name = "audio_samples_qoe._native"
python-source = "python"

[dependency-groups]
dev = ["pytest>=8"]
# Dataset evaluation, benchmarking, and notebook tooling.
eval = [
    "matplotlib>=3.10.9",
    "pandas>=3.0.3",
    "scikit-learn>=1.9.0",
    "seaborn>=0.13.2",
    "ipykernel>=7.3.0",
    "ipywidgets>=8.1.8",
    "ruff>=0.15.16",
]
docs = [
    "sphinx>=8",
    "sphinx-rtd-theme>=3",
    "myst-parser>=4",
    "sphinx-copybutton>=0.5",
]
