SuPPort: Evented Python servers
paypal-engineering.com
paypal-engineering.com
Greenlets for lightweight concurrency, threads for preemptive concurrency and processes for parallelism / isolation.
For one, there was never really official Python backing for gevent and other coroutine-oriented programming models. Remember asyncore? From our standpoint, Python 2.7 continues to be the industry standard, and we'll continue to target it for the foreseeable future. Should some major internal or open-source use case come along and make it advantageous for us to target Python 3, we would approach it like any other feature request. Python 2 will not be vanishing from beneath your feet anytime soon. ;)
No one expects 2.7 to go away, that doesn't mean contributors want to deal with Python 2 when 3 is available elsewhere.
But indeed, I don't think it would be a good idea to wholeheartedly adopt their stack. gevent wasn't even a good idea on Python 2, and I suspect the large companies that use it have built up an armor of best practices and workarounds for its glitches, which you won't know about if you start using it.
In fact the earliness of SuPPort's release serves to illustrate that the primary goal: demonstrating many best practices for building servers and clients, in any language or stack. As far as gevent goes, well, that's mostly an ecosystem-dependent turn of fate that continues to serve us well. A data point gladly share, but not the core message per se. :)
Like Twisted, there are many projects that continue to choose to use gevent, and consequently (for either of those libraries) Python 2. They solve real problems, as does the codebase we extracted SuPPort from, and we hope to help these projects rather than shun them.
Additionally, asyncio doesn't provide the same user API that gevent does: automagic task switching. Whether or not you like that API is a separate issue.
Finally, even if a person has no interest in using SuPPort, we hope that it might provide her insights into problems she'll likely encounter when using asyncio (or Tornado or Twisted or eventlet or any evented system.)
boltons==0.4.1
cffi==0.8.6
clastic==0.4.2
cryptography==0.7.2
enum34==1.0.4
faststat==0.3.1
gevent==1.0.1
greenlet==0.4.5
hyperloglog==0.0.9
lithoxyl>=0.1.0
psutil==2.2.1
py==1.4.26
pyasn1==0.1.7
pycparser==2.10
pyjks>=0.3.0.1
pyOpenSSL==0.14
pytest==2.6.4
sampro==0.1
ufork>=0.0.1
six==1.9.0
Werkzeug==0.9.4