[Python-3000] pimp; restructuring the standard library
tav at espians.com
Thu Jun 28 17:59:31 CEST 2007
First of all, I'd like to say "fucking great work!". Whilst initially
skeptical about Python 3.0, I really love all the decisions that have
been made so far. Python 3.0 is looking like it's going to be a great
language! Thank you ever so much to all those who've put in their time
Now, one of the killer features of Python has always been it's
batteries included standard library. However, until recently, this has
been slightly abandoned. Wth 3.0, we have a chance to rectify this and
bring it up-to-date with the modern era.
I don't think what PEP 3001 currently suggests goes far enough in this
regard. It seems to be treating the change as a usual python 2.x ->
I'd like to suggest a complete overhaul of the standard library, and
along with it, perhaps some changes to the import mechanism.
* Structured hierarchy (this seems to be something that already has support).
* Abandoning of unit tests and replacing with full doctest coverage in
the style perfected by Jim Fulton and PJE. Integration with py.test.
* Ability to import from remote networked sources, e.g. import
* 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!
* Integration of "best-of" libraries out there. (Obviously subjective...)
* Grouped imports/exports, e.g. from module import :api, instead of
the current all or nothing, from module import *
Now, this might seem a bit much but if done well, I think it can
provide Python a huge leap over other languages...
I have already worked on this for my own projects by implementing an
import replacement called ``pimp`` in python 2.x. See:
And, have been working on structuring code for my own uses under:
Hope this all makes some kind of sense... your thoughts will be much
founder and ceo, esp metanational llp
plex:espians/tav | tav at espians.com | +44 (0) 7809 569 369
More information about the Python-3000