A bit busy right now but will probably try to contribute if I can! I know very little about the low-level workings of Python and whatever the "GIL" is, but my single-process ensemble ended up using `AsyncIO` instead of `Thread` because of difficulty running a Flask server in a child thread; do you know if that would fix your CPU blocking concerns? Mostly asking so I know if I have the same problems and just haven't discovered them yet lol
One very subjective opinion: The README is great but very long - I would consider putting either/both of the code samples from the bottom at the top, so someone experienced with the basic concepts can take a quick look and understand the gist immediately. Your language at the top is of course all accurate, but it's such an abstract project that even an accurate description leaves a lot of questions, IMO.
P.S. I can't believe you got the github username "operand" that's sick