Looks cool! You asked for feedback, from a quick look:
* I suspect you may have created the IO lib, bestia, to learn and because is fun, but if you use existing libs like Prompt-Toolkit [1] you can focus more time in the actual app vs infrastructure. Also libs like PT can do a lot of heavy lifting and boring stuff for you like enabling cross platform support (Windows!).
* I saw you used .json for tuning configuration, I guess it is ok but perhaps you could just have the tuning be plain python files? Not sure you gain too much by using JSON here.
* Speaking of json... could be interesting to make the _output_ of the app machine readable. So instead of focusing on pretty ANSI output, how would the app look if it generated the fretboards as pure data? One could then write a program to create ANSI or HTML or SVG and whatnot from the same data.
* There are a ton of music theory libraries out there, perhaps you could get some ideas from those. music21 seems to be interesting in this area (although quite heavy / big) [2].
Thanks for your input. The bestia library I created waaaay before I even started working on kord so at this point I just go with it since I know the API in and out. I'm sure there are other libraries out there doing the same thing better but hey, this one is mine. :)
As for the .json files I thought they would be a good way for non-developer end users to deal with their self created tunings without having to mess with the code itself.
Thanks for the links to the projects, I will try to take a look at them.
I agree they should focus on building products not boilerplate but i would argue "outputting pure data, i.e writing your own data format, is just as much boilerplate.
* I suspect you may have created the IO lib, bestia, to learn and because is fun, but if you use existing libs like Prompt-Toolkit [1] you can focus more time in the actual app vs infrastructure. Also libs like PT can do a lot of heavy lifting and boring stuff for you like enabling cross platform support (Windows!).
* I saw you used .json for tuning configuration, I guess it is ok but perhaps you could just have the tuning be plain python files? Not sure you gain too much by using JSON here.
* Speaking of json... could be interesting to make the _output_ of the app machine readable. So instead of focusing on pretty ANSI output, how would the app look if it generated the fretboards as pure data? One could then write a program to create ANSI or HTML or SVG and whatnot from the same data.
* There are a ton of music theory libraries out there, perhaps you could get some ideas from those. music21 seems to be interesting in this area (although quite heavy / big) [2].
1: https://python-prompt-toolkit.readthedocs.io/
2: http://web.mit.edu/music21/