[Python-Dev] Thoughts on stdlib evolvement

Ron Adam rrr at ronadam.com
Tue Jun 7 20:31:34 CEST 2005


Reinhold Birkenfeld wrote:
> Hello,
> 
> I am currently having some thoughts about the standard library, with regard
> to Python 2.5 and 3.0. Since I don't want to withhold them from you, here
> are they ;)
> 
> - Flat namespace: Should we tend to a more hierarchic library (e.g.
>   inet.url, inet.http, inet.nntp)? This would increase clarity when
>   searching for a module.

I think putting the standard library in it's own package would be the 
first step.  "std" has been mentioned a couple of times and I think its 
a good name for it.

For backwards compatibility, maybe a "from __compatible__ import 
ver_2.x", or something similar, could be used as a way to allow future 
versions a bit more flexibility to change?

Trying to move the modules in python/lib to python/packages/stdlib to 
see what would happen revealed the following files are required to be in 
python/lib to start the python shell without errors.

	copy_reg.py
	ntpath.py
	os.py
	site.py
	stat.py
	types.py

These files are modules site.py imports.  Maybe these should be builtins 
so that the shell could start without importing any modules?

> - 3rd party modules: There are many superb modules out there, some of which
>   really do have a "standard" character. Examples include PIL, numarray,
>   ElementTree, [wxPython - I know this is a hairy issue],

I'm on the side of less in builtins and less in the standard library, 
and for having a central repository for developers to distribute their 
packages.  A python updater that gets a list of installable packages to 
install or uninstall would be fantastic. ;-)

Having less in the core distribution means smaller complete applications 
to install when py2exe is used.  There also needs to be some assurance 
that the standard library has as few bugs in it as possible.  The more 
that's added to it, the more work and testing to do that is needed.


> - User interface: Tkinter may be "the" standard, but other Toolkits deserve
>   notice, notably wxPython and PyGtk, the latter of which might be even
>   easier to package.

I think these fall into the category of optional "official" extension 
packages that could be included in the core installer, but are not part 
of the standard library package itself.  They are packages that would be 
maintained separately from the core and have their own developers 
dedicated to maintaining them.

The 'official', or other designator if appropriate, would mean that they 
are important packages that fulfill a need and efforts to make and keep 
them compatible with the current python release is made.

An "official" package designation might be something that developers 
could strive for and proudly display on their website or resume.  Some 
minimum standards would be needed... ie current with current version of 
python, fully functional, fulfilling a need, etc.  A request and voting 
process of some sort where python-dev can award "officialdom" to package 
developers might be usefull for this.

Just a few thoughts,
Cheers,
Ron






More information about the Python-Dev mailing list