[Python-3000] packages in the stdlib

Antoine Pitrou solipsis at pitrou.net
Wed May 31 15:08:41 CEST 2006


Le mardi 30 mai 2006 à 09:25 -0700, Brett Cannon a écrit :
> 
> I think what needs to happen is decide if we want to group modules
> into packages (but no deeper than a single depth), and then how to
> handle general naming (e.g., net.http, net.httplib, http, or
> httplib?). 

I don't see the point of grouping modules into packages.
It is obvious what "http" is (a network protocol), so why have to write
"net.http" instead of simply "http" ? It's more things to type and more
things to remember, without any clear advantage.

The current flat namespace for the standard library is one *very*
pleasant feature of Python. You only have to remember the module name
itself, not its position in the hierarchy. Compare this with Java
or .Net...

Moreover, as someone wrote in another post, if you introduce packages,
people will write "from gui import wx", so why not just let it be
"import wx"? We are adults.


The problem with the current naming IMO is the fact it is inconsistent
and sometimes confusing. I don't think introducing a level of nesting is
an answer to this problem. Actually, flattening the current nested
modules would be a good think.

(for example, I don't like the way "os.path" is magically imported when
importing "os". Some functions are in "os", others in "os.path", without
any clear logical reason. They should all belong in "os" - or any other
name for that matter).

Regards

Antoine.




More information about the Python-3000 mailing list