[Python-3000] pimp; restructuring the standard library

Phillip J. Eby pje at telecommunity.com
Thu Jun 28 18:41:30 CEST 2007


At 04:59 PM 6/28/2007 +0100, tav wrote:
>* Abandoning of unit tests and replacing with full doctest coverage in
>the style perfected by Jim Fulton and PJE. Integration with py.test.

I believe that the origination credit for this rightly falls to Tim 
Peters.  (I just copied Jim, myself.)  Meanwhile, there are quite a 
few stdlib doctests now, and unittests still more than have their place.

Indeed, I'm also wary of breaking backward compatibility of unittest 
or doctest in Python 3.0, because that will make it even harder to 
port code over.  How will 2.x users run their existing test suites to 
verify their code has been ported correctly, if they can't keep using 
unittest?  As it is, they'll have to run them through 2to3, which 
AFAIK doesn't do doctests currently.


>* Ability to import from remote networked sources, e.g. import
>http://foo.com/blah/

A strong -1 on any import system that breaks down the current strict 
separation between module names and module *locations*.  Too many 
people confuse these concepts already, and we already have a nicely 
field-tested mechanism for specifying locations and turning them into 
importer objects.


>* Authentication of sources with configurable crypto.
>
>* Full integration with setuptools + eggs.
>
>* Pluggable integration support for version control systems like svn/bzr.
>
>* Builtin versioning support for modules.
>
>* Live-update of modules/code support (in the vein of Erlang).
>
>* Rewrite of standard library to be more adaptable, concurrent, and
>pertaining to object capability. This way, we can have a secure,
>composable and parallelisable standard library!

Um, and who are you volunteering to do all this work?  i.e., "you and 
what army?"  :)


>Hope this all makes some kind of sense... your thoughts will be much
>appreciated. Thanks!

My thought is that you've just proposed several major PEPs that are 
already too late for Python 3.0 and would probably have been rejected 
or deferred anyway.

I also think it's more likely that your ideas would find more 
interest/support with the PyPy project than with mainline Python, as 
some of them at least vaguely resemble some things they are working 
on, and/or would be easier to implement using PyPy object spaces.



More information about the Python-3000 mailing list