Hi,
Short story: I don't want to maintain Trollius anymore. If anyone is
using it, please say it. Otherwise, I will simply make it clear that
Trollius must not be used anymore.
Since almost no library support Trollius, I'm not sure that it's
possible to build an application on top of it. For example, there is
no HTTP client for Trollius!
--
Long story.
Two years ago, I wrote the Trollius project for OpenStack. I ported
asyncio to Python 2.6. When I wrote it, my main motivation was to
replace implicit task switching *and* port OpenStack to Python 3.
OpenStack uses eventlet and eventlet didn't support Python 3.
In the meanwhile, eventlet was ported to Python 3 (I helped to port it
;-)), and it became clear to me that OpenStack is too big to replace
eventlet with anything else (replacing eventlet with threads was also
discussed). I mean, it's too much work for a negligible gain, with a
high risk of regression, for such large project. For all these
reasons, I stopped to work on Trollius.
My goal was to support asyncio and trollius in a single code based for
the application code, but also for libraries. In practice, there are
important technical issues for that. asyncio coroutine uses "result =
yield from coro" whereas trollius coroutine uses "result = yield
From(coro)". I added "From()" to trollius to ease the transition from
Trollius to asyncio, the function is a no-op (it returns the coroutine
unchanged).
Since "yield from" raises a SyntaxError on Python 2, it's really hard
to write coroutines in a single file for Trollius (yield, Python 2)
and asyncio (yield from, Python 3).
Authors of recent libraries written for asyncio said clearly that they
don't want to support Trollius to have a clean code base. Some
libraries (like Pulsar) already supporting Twisted and Tornado added
support for trollius.
In short, very few libraries support trollius, and I don't think that
it's going to change. I only know trollius-redis, an explicit port of
an asyncio library (asyncio-redis) to Trollius.
https://trollius.readthedocs.org/libraries.html
--
Using asyncio with Python 3, it rocks ;-) It now has a wide choice of libraries!
Victor