Hi Victor, We are using the autobahn/trollius framework for inter-process communication of a Python-COM-component within a .NET-GUI-Application with a HTML5 based presentation component. That's great stuff, since even events can be sent easily. We definitely have to stick to Python 2.7 for the next coming years. So we really appreciate your work (and the autobahn folks as well ...) and hope that this technology can be maintained for a while.
IconoClust Download <http://alere-technologies.com/fileadmin/Media/Downloads/op/Software_Setups/Iconoclust/setup_AT_v5.1r0.zip> Thank you very much for providing trollius, Matthias Kirst, Software Engineer Am Montag, 25. Januar 2016 21:45:52 UTC+1 schrieb Victor Stinner: > > 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 >
