Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which web frameworks support Python3 (PEP3333 - WSGI 1.0.1 compliance) [closed]

I had recently started learning Python, and with all the research I decided it was good to start with Python3 (that's what even Guido advised at Google IO'11). But lack of support for Python3 by major (web)frameworks has really bugged me. I know this same question has been asked all over the Internet and even on StackOverflow, but since we now have a finalized PEP3333 (WSGI 1.0.1), which are the frameworks supporting/going-to-support Py3. The only one I could find was CherryPy3.2.0 which, as the project page says, is PEP 3333 compliant. I specially would like to know about Django/Turbogears/Pylons/Flask (Any roadmaps would be really informative).

like image 625
pcx Avatar asked Jun 06 '11 22:06

pcx


People also ask

What is WSGI compatible web servers?

The Web Server Gateway Interface (WSGI, pronounced whiskey or WIZ-ghee) is a simple calling convention for web servers to forward requests to web applications or frameworks written in the Python programming language. The current version of WSGI, version 1.0. 1, is specified in Python Enhancement Proposal (PEP) 3333.

What Python framework can also be used as a production WSGI server for other frameworks?

CherryPy is a pure Python web server that also functions as a WSGI server.

What is a WSGI web app framework?

WSGI stands for "Web Server Gateway Interface". It is used to forward requests from a web server (such as Apache or NGINX) to a backend Python web application or framework.

Which of the following is a simple fast and lightweight web framework that complies with WSGI standards?

Wheezy is a lightweight, high performance, and high concurrency WSGI web framework. Its key features include routing, model update/validation, authentication/authorization, content caching with dependency, middleware, and more. With these, we can build modern, efficient web.


2 Answers

There was earlier little incentive for web frameworks to move to Python 3, as there was no usable WSGI standard for Python 3. Now we have PEP 3333, but it is still very new, so few frameworks had yet had time to port to Python 3.

Besides CherryPy there is only two other Python 3 web frameworks I'm aware of, and that is QP, which seems very different from other frameworks and to my knowledge doesn't use WSGI at all, and Bottle, which claims to support PEP 3333 (although you have to dig a bit in the docs to find it).

Django has no official roadmap for Python 3 AFAIK (except an old one that is outdated by now), but there has been promises to work on it during the summer.

Pyramid is waiting for the component architecture to get ported, and I that's mostly been done by me so far, and I don't have time at the moment. :-) I don't know if there is a roadmap for Pyramid, but there is one for the component architecture. There is no timeline, though, as it depends wholly on the time of volunteers.

In general, although Guido is sensible in recommending Python 3, that doesn't really work for web programming today.

like image 183
Lennart Regebro Avatar answered Oct 13 '22 01:10

Lennart Regebro


[EDIT] Official Django Project roadmap regarding Python 3 here

the current Django trunk (r17165) (link here) clears Py3 tests (Google Group dicsussion)! Django on Py3, finally!!

like image 42
pcx Avatar answered Oct 13 '22 01:10

pcx