[build-system] requires = ["setuptools>=69"] build-backend = "setuptools.build_meta" [project] name = "earshot" version = "0.4.0" description = "Ears for coding agents: describe, match, search, compare, time-align and critique sound files an agent cannot hear." readme = "README.md" requires-python = ">=3.10" license = { text = "MIT" } authors = [{ name = "Leon Lin" }] keywords = ["audio", "sound", "ai-agents", "mcp", "claude-code", "clap", "audio-analysis", "sound-design", "video", "procedural-audio", "cpu"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Multimedia :: Sound/Audio :: Analysis", "Topic :: Multimedia :: Sound/Audio :: Sound Synthesis", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ "numpy>=1.26", "scipy>=1.11", "soundfile>=0.12", "soxr>=0.3", "librosa>=0.10", "pyloudnorm>=0.1", "scikit-learn>=1.3", "pillow>=10", "matplotlib>=3.8", "torch>=2.6", # CPU wheels: pip install torch --index-url https://download.pytorch.org/whl/cpu "transformers>=4.40", ] [project.urls] Homepage = "https://github.com/Leonxlnx/earshot" Repository = "https://github.com/Leonxlnx/earshot" Issues = "https://github.com/Leonxlnx/earshot/issues" [project.optional-dependencies] mcp = ["mcp>=2"] llm = ["requests>=2.31"] dev = ["pytest>=8"] [project.scripts] earshot = "earshot.cli:main" [tool.setuptools.packages.find] include = ["earshot*"] [tool.setuptools.package-data] earshot = ["data/*.json", "data/*.npz", "forge/bank/*.json", "forge/kits/*.json", "forge/seeds/*.json"] [tool.pytest.ini_options] testpaths = ["tests"]