[Web-SIG] Python 3 / PEP 3333 (was: PEP 444 / WSGI 2 Async)
Alice Bevan–McGregor
alice at gothcandy.com
Fri Jan 7 08:23:52 CET 2011
On 2011-01-06 21:35:24 -0800, Jacob Kaplan-Moss said:
> And I'm feeling incredibly disheartened.
As the author of my own small WSGI framework (with world-wide, though
still limited use) I have the luxury of being able to embrace
experimental technologies. The lack of WSGI capability in Python 3
thoroughly depressed me for the same reasons you describe.
Then I got fed up, tracked down something to tackle, and picked up PEP
444 knowing full well that PEP 3333 existed and was nearer to
completion. PEP 3333 -should- be ratified ASAP in order for developers
to begin to move forward. PEP 444, despite the seeming high blood
pressure on the Web-SIG list, is a long, long way off, and I recognize
that. Despite my boundless enthusiasm for debate, I certainly hope
everyone else realizes this, too. ;)
I wrote an experimental proof-of-concept HTTP/1.1 server against PEP
444 (and continue to update it as my rewrite progresses) over the
course of a week. It just so happened to be stupidly performant under
ideal conditions (see the webpy mailing list for a more real-world
comparison against a CPython extension-based server), extremely simple
code to maintain and experiment on, and will continue to be my/the
"reference implementation" for PEP 444.
Other than mod_wsgi, are there any PEP 3333-compliant (or
near-compliant) components in the wild? Enough to bring a framework to
life in Python 3? What I see is the chicken-and-egg problem endemic
with Python 3: developers wait on upstream to port before they do, and
upstream developers are either waiting themselves or don't see the
demand to port.
Any standard needs early adopters / implementors in order to truly test
the specification; without such, much of the discussion is pure
thought-experiment and practical problems may arise after the standard
is ratified, which is never good. ;)
With the Marrow suite I'm attempting to brute-force the Python 3
problem domain within the context of testing PEP 444 and providing
(after ratification) a solid meta-framework foundation a la Paste.
Yes, that means I'm re-inventing enough wheels for a 6-axel rig, but it
also means (in theory) I should have a solid understanding of the
strengths and weaknesses of the PEP. (The WebOb equivalent is only
partially complete as of this writing.)
> A few months ago, PJE posted PEP 3333. It looked good... and then
> nothing happened. I tried to prod things forward, and some more
> discussion ensued... and now it looks like it's stalling again. Each
> time, discussion of PEP 444 seems to derail discussion of PEP 3333.
I see the opposite in regards to recent traffic on the Web-SIG; PEP 444
discussion has encouraged PEP 3333 discussion. See the "Declaring PEP
3333 accepted" thread (encouraged by Guido himself).
> At this rate, I really wonder if it'll be another two years before we
> have a working WSGI for Python 3. I hope I'm being pessimistic. Prove
> me wrong. Please.
I'll do what I can. :)
> Can we please, please, PLEASE, pause discussion of PEP 444 until PEP
> 3333 is finalized?
This is something I've seen fairly often around PEP 444 threads;
instead of reviving (or starting a new) PEP 3333 thread, a complaint is
levied against PEP 444 discussion itself. That doesn't help. ;)
Truthfully, this month already surpasses the amount of activity
(post-wise) of the last three months combined, and includes quite a
number of posts about PEP 3333. (PEP 3333 has had no significant
discussion - again, by post count - since October.)
- Alice.
More information about the Web-SIG
mailing list