Live data from Hacker News

SuPPort: Evented Python servers

paypal-engineering.com

11–13 of 13 posts

Re: SuPPort: Evented Python servers

#11
post #5

Earlier quoted context omitted.

It's less about where Python 2.7 is going and more about where the libraries themselves are going. If you use a library which is considered deprecated by a large part of the python community, don't be surprised not to aspire new contributors. No one expects 2.7 to go away, that doesn't mean contributors want to deal with Python 2 when 3 is available elsewhere.

I can't fault PayPal for releasing their code as open source. It's great. More companies should do it. 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.

I realize this is a day late and thus ancient history in HN time, but I figure a reply couldn't hurt. You're absolutely right that it would be unwise for the typical Python team to fully adopt the stack, especially this early in the release.

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. :)

Re: SuPPort: Evented Python servers

#12

OK kind of TLDR; I just took the packages that they use from the link they had provided. 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

they're so close to alphabetical; this is killing me

Re: SuPPort: Evented Python servers

#13
post #7

stack looks solid, coroutine, stats, and utilities, i'm interested in giving it a spin. some interesting libraries in there i haven't seen before. even then its hard to reconcile statements like native gevent (sans monkey) with libraries like flask (thread locals) or even the std lib. one of the main benefits of gevent vs twisted or other async libs is the ability to actual reuse the python ecosystem via a handful of…

gevent has lots of benefits outside monkeypatching! That said, historically we mostly chose gevent as it seemed like the better interface to greenlet, which we really liked. For the most part, we were (and in many cases still are) trying to cater to a Python community of beginners. Greenlet-based approaches seemed easier to explain than other options, and sure enough we rarely hear complaints about development complexity, etc.
Post reply on HN