Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
PEP 3333 Accepted: WSGI standard for Python 3.x (python.org)
87 points by enduser on Jan 12, 2011 | hide | past | favorite | 19 comments



The PEP process has always amazed me as one of the better processes that the Python community "owns". Certainly not perfect but I feel the focus on communication is really key.

Does Ruby have something similar when it comes to enhancements?


Yep, Ruby has どのような...我々は日本だ。我々は性交を与えていない



Maybe something more like:

えっ?全然興味ないんだけど。日本にいるんじゃん?

Sorry to kill the joke, but if Google translates it into grammatically correct English, the source was nothing resembling Japanese.


not Japanese but I'm pretty sure "to not give a fuck" in Japanese doesn't contain 性交 (to have sex)


The short answer: no, from what I understand. A more thorough explanation was posted as part of a bit of a diatribe on Ruby development in general to HN a couple of weeks ago: http://news.ycombinator.com/item?id=2059964



This has been a long time coming. Not being able to use Python3.x for web development was a large barrier for me switching completely. Now Python3.x just needs to be the default for more linux distros.


I agree. Python 3 will not see significant uptake till it is the default on most distros.

It is the usual chicken and egg problem. Distros won't upgrade if there is no reason to. In fact, many are reluctant to upgrade to 3.0 since it breaks a few mini-apps developed in 2.x (as happened to me on ArchBang Linux a few weeks ago).

You need a killer app to force through the migration. Viz Rails and the number of hosts who now have Ruby hosting (if only in name) even on their cheapest hosting packages.


You need a killer app

The larger problem is that all the existing killer apps need porting over first. Python has a large ecosystem of killer apps (or rather libraries) already, so no matter how killer your new app is, it probably won't outkill the sum total of all existing killer apps.


That probably is not going to happen for a long while.


A summary in layman's words?

More specifically about the implications.


WSGI defines the interface between web services written in Python and HTTP. mod_wsgi is the Apache implementation. FLUP is frequently used to gateway WSGI to FastCGI (for use with nginx). There are others.

Until now, people writing WSGI applications (mostly framework authors) have been held back by lack of standardization. WSGI adapters such as mod_wsgi have been tracking PEP 3333 for some time, but web application/framework authors have been reluctant to move forward without standardization.

Jacob Kaplan-Moss wrote:

"The lack of a WSGI answer on Py3 is the main thing that's keeping me, personally, from feeling excited about the platform. Once that's done I can feel comfortable coding to it -- and browbeating those who don't support it."

See http://mail.python.org/pipermail/web-sig/2011-January/004902... for more of his point of view on why PEP 3333 is important.

So: standardization has arrived. I would say that lack of WSGI for Python 3.x was the primary factor holding back widespread standardization on Python 3.x. It will take some time for adoption to occur nonetheless--there are other factors. It is extra work to maintain a project with Python 3.x and 2.x compatibility. Also the Python 3.x standard library needs more users to smooth out the lumps.

Nonetheless, this is a big deal and should be celebrated :-)


If you are using Python for web development there is a good chance you are using the Python 2.x branch. Why?

Because almost all the libraries that you would need were written in 2.x. This includes the some of the more popular frameworks.

There are a few things preventing widespread adoption of Python 3.x for web. This was one of them.

Most people though (including myself) are quite happy to keep using 2.x. We all know Python 3 is here and is the future. We also know upgrading to be relatively painless. But for the most part the Python community values stability and 2.x makes most people happy. So for now I am just keeping an eye on 3.0 and seeing what web frameworks are going to pop up using it before I consider any type of move.


This paves the way for web frameworks and related utilities to finally make the move to Python 3. They were held back by WSGI.

(that's my understanding anyway. I'm no expert.)


Any other Python devs still going to stick with 2.x despite this? I know I will be, for the foreseeable future.

This was a big step for 3.0 adoption, but there is still a long way to go. It reminds me of PHP4 v PHP5, but with far less clear benefits (and far less support).


I'm sorry - what is this 3.0 you speak of? Debian stable still runs on 2.5. Surprisingly, almost every module I need from pypi works without problems (sometimes just requires select26 to get the proper epoll). Most changes that would be otherwise needed are really trivial (from __future__ import ...).


There are some improvements to Unicode handling 3.0 that clean things up a bit, which I'd appreciate after fighting with it recently.


Well, anyone working with the App Engine will be.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: