A while ago Dave Beazley released https://github.com/dabeaz/thredo and posted about it here:
https://forum.dabeaz.com/t/die-threads-europython-2018/ (and the screencast linked from there is a terrific watch as usual)
One interesting excerpt from the post:
thredois implemented on Curio, there’s no real reason why you couldn’t make something similar work on other async libraries. The key concept that if a thread is going to block, you just make sure it happens on an async event loop, not in the OS.
Curious how Thredo compares to Trio’s own support for interacting with threads. Fundamentally there seems to be a philosophical difference — “heck yeah threads” vs. “only if you must” — which it would be interesting to understand better. Other than that, is Trio’s thread support functionally similar to Thredo’s? Any other interesting similarities or differences?