[build-system]
requires = ["maturin>=1.14,<2.0"]
build-backend = "maturin"
[project]
name = "ruopus"
description = "A pure-Rust implementation of the Opus audio codec (RFC 6716) - fast, with first-class NumPy interop."
readme = "python/README.md"
license = { text = "MIT" }
authors = [{ name = "Jack Geraghty (jmg049)", email = "jgeraghty049@gmail.com" }]
maintainers = [{ name = "Jack Geraghty (jmg049)", email = "jgeraghty049@gmail.com" }]
requires-python = ">=3.9"
keywords = ["opus", "audio", "codec", "rfc6716", "rust", "numpy"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Rust",
"Topic :: Multimedia :: Sound/Audio",
"Topic :: Multimedia :: Sound/Audio :: Conversion",
"Typing :: Typed",
]
dynamic = ["version"]
dependencies = [
"maturin>=1.14.1",
"numpy>=1.22",
]
[project.urls]
"Homepage" = "https://github.com/jmg049/ruopus"
"Repository" = "https://github.com/jmg049/ruopus"
"Documentation" = "https://docs.rs/ruopus"
"Bug Reports" = "https://github.com/jmg049/ruopus/issues"
[project.optional-dependencies]
docs = [
"sphinx>=7.0.0",
"sphinx-rtd-theme>=2.0.0",
"myst-parser>=2.0.0",
"sphinx-copybutton>=0.5.0",
]
test = ["pytest>=7.4.0", "numpy>=1.22"]
[tool.maturin]
features = ["python"]
module-name = "ruopus._ruopus"
python-source = "python"
include = ["python/ruopus/**/*.pyi", "python/ruopus/py.typed"]
exclude = ["python/tests/*", "python/examples/*"]
[tool.uv]
cache-keys = [
{ file = "pyproject.toml" },
{ file = "Cargo.toml" },
{ file = "Cargo.lock" },
{ file = "src/**/*.rs" },
{ file = "python/ruopus/**" },
]