In an effort to manage unrelated rage, I will be discussing a a couple libraries that I have written over the years. AMA
TonalKit is a library meant to capture “everything” music theory. It does not because that’s quite the task but it has most of the obvious requests, I think. (Scales, chords, accidentals, etc). It has accumulated portions that are very much not music theory related (MIDI, for instance) as well.
#TonalKit