> It just doesn't feel pythonic to me, and I don't think I'm alone in this.
But how does a tangled mess of callback1 callback2 callback3 feel when all you want to do is do a couple of db reads and writes while processing a simple shopping cart. Is that Pythonic?
> The python internals weren't designed for this, which is the reason they have to use monkey patching.
So fix the internals. Here is a practical way people use Python every day, make that the default, don't revert to some academic or callback mechanism.
> I just couldn't write something which depends on speed and concurrency in python right now, knowing there are solutions much better designed for the problem.
See that is what saddens me. gevent and eventlet do let you write reasonably good and concise IO concurrent code. Some have run large sites and deployments with it. I haven't found any major slowdowns or downsides to switch yet. Because I it is easy and simple to experiment, I'll always try Python first, even though later I might switch to Go or Erlang.