[Web-SIG] PEP 444 Goals

chris.dent at gmail.com chris.dent at gmail.com
Fri Jan 7 10:08:42 CET 2011


On Thu, 6 Jan 2011, Alice Bevan–McGregor wrote:

> :: Clear separation of "narrative" from "rules to be followed".  This allows 
> developers of both servers and applications to easily run through a 
> confomance "check list".

+1

> :: Isolation of examples and rationale to improve readability of the core 
> rulesets.

+1

> :: Clarification of often mis-interpreted rules from PEP 333 (and those 
> carried over in 3333).

+1

> :: Elimination of unintentional non-conformance, esp. re: cgi.FieldStorage.

+1

> :: Massive simplification of call flow.  Replacing start_response with a 
> returned 3-tuple immensely simplifies the task of middleware that needs to 
> capture HTTP status or manipulate (or even examine) response headers. [1]

+1

I was initially resistant to this one in a we fear change kind of
way, but I've since recognized that a) I was thinking about it
mostly in terms of existing code I have that would need to be
changed b) it _is_ more pythonic.

> :: Reduction of re-implementation / NIH syndrome by incorporating the most 
> common (1%) of features most often relegated to middleware or functional 
> helpers.  Unicode decoding of a small handful of values (CGI values that pull 
> from the request URI) is the biggest example. [2, 3]

0 (as in unsure, need to be convinced, etc)

The zero here is in large part because this particular goal could
cover a large number of things from standardized query string
processing (maybe a good idea) to filters (which I've already
expressed reservations about).

So this goal seems like it ought to be several separate goals.

> :: Cross-compatibility considerations.  The definition and use of native 
> strings vs. byte strings is the biggest example of this in the rewrite.

+1

> :: Making optional (and thus rarely-implemented) features non-optional. E.g. 
> server support for HTTP/1.1 with clarifications for interfacing applications 
> to 1.1 servers.  Thus pipelining, chunked encoding, et. al. as per the HTTP 
> 1.1 RFC.

0

The other option (than non-optional) for optional things is to
remove them.

I think working from a list of goals is an excellent way to make
some headway.

-- 
Chris Dent                                   http://burningchrome.com/
                                 [...]


More information about the Web-SIG mailing list