Files
pytheory/pyproject.toml
T
kennethreitz ac7b9e7fcc Full-arrangement transcription and real-time tuner — v0.47.0
- Score.from_wav(split=True) returns melody, bass, chords (chromagram
  triad matching), drums (onset classification calibrated against
  pytheory's own synths), and score.detected_key
- pytheory tune: mic → YIN → note + cents; terminal needle or --serve
  for a browser tuner page + CORS-open SSE stream for JavaScript apps
- New public API: pytheory.audio.detect_chords / detect_drums,
  pytheory.tuner.Tuner / analyze_frame
- Fix onset detector rejecting hits in the first ~90ms of a recording
- Docs homepage: uv install instructions

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 01:53:58 -04:00

54 lines
1.4 KiB
TOML

[project]
name = "pytheory"
version = "0.47.0"
description = "Music Theory for Humans"
readme = "README.md"
license = "MIT"
requires-python = ">=3.10"
authors = [
{ name = "Kenneth Reitz", email = "me@kennethreitz.org" },
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Topic :: Multimedia :: Sound/Audio",
"Topic :: Multimedia :: Sound/Audio :: Analysis",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
dependencies = [
"sounddevice",
"scipy",
"rich>=14.3.3",
]
[project.optional-dependencies]
live = ["python-rtmidi"]
[project.urls]
Homepage = "https://github.com/kennethreitz/pytheory"
Documentation = "https://pytheory.kennethreitz.org"
Repository = "https://github.com/kennethreitz/pytheory"
Issues = "https://github.com/kennethreitz/pytheory/issues"
[project.scripts]
pytheory = "pytheory.cli:main"
[dependency-groups]
dev = ["pytest"]
docs = ["sphinx", "myst-parser"]
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[tool.pytest.ini_options]
markers = ["slow: marks tests as slow (deselect with '-m \"not slow\"')"]
[tool.setuptools]
packages = ["pytheory"]