Пакет greenlet используется gevent и eventlet для асинхронного ввода-вывода. Он написан как C-расширение и поэтому не работает с Jython или IronPython. Если производительность не вызывает беспокойства, какой простой способ реализовать API-интерфейс greenlet в чистом Python.
Простой пример:
def test1():
print 12
gr2.switch()
print 34
def test2():
print 56
gr1.switch()
print 78
gr1 = greenlet(test1)
gr2 = greenlet(test2)
gr1.switch()
Должна печатать 12, 56, 34 (а не 78).