Files
pytheory/pytheory
kennethreitz dc07850082 Polish sweep: robustness fixes & friendlier errors; release 0.57.1
- Key.secondary_dominant() wraps out-of-range degrees instead of
  crashing with IndexError; rejects non-positive degrees with ValueError
- Score.from_midi() guards zero tempo (falls back to 120 BPM) and
  zero/negative ticks_per_beat
- Fretboard.chord() raises descriptive ValueError instead of bare KeyError
- Scale[...], scale registry, and TimeSignature.from_string() give
  helpful error messages
- TimeSignature is hashable again (__eq__ without __hash__)
- Docstrings for Tone.pitch() and Scale.degree(); type hint on
  Chord.negative_harmony()
- New tests/test_polish_fixes.py (7 regression tests)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 07:38:46 -04:00
..