[Python-Dev] pkgutil, pkg_resource and Python 3.0 name space packages (original) (raw)

Guido van Rossum guido at python.org
Mon Jan 7 05:28:01 CET 2008


On Jan 6, 2008 7:23 PM, Phillip J. Eby <pje at telecommunity.com> wrote:

At 04:23 PM 1/6/2008 -0800, Guido van Rossum wrote: >Regarding using common words, either the stdlib grabs these, or >nobody gets to use them (for fear of conflicting with some other 3rd >party package grabbing the same).

This isn't quite true; a standalone Python application that isn't extensible doesn't need to worry about this. And it's standalone apps that are most likely to claim these common words. (For example, until recently, Chandler's database library packages were in 'repository.*'.) But of course this is still a pretty minor point overall. If the stdlib does go for deeper nestings, I have a slight preference for seeing them under std.* or some such rather than top level. But I don't really see a whole lot of point to doing a major re-org of the stdlib space to begin with, for the simple reason that package names are not really categories -- they're names. IMO 'from databases import sqlite' doesn't add any value over 'import pysqlite3' to begin with. Worse, it will likely be an attractive nuisance for people saying "why don't we have databases.Oracle?" and suchlike. And you still have to remember the names, only now they're longer. And was it database or databases? Greater uniqueness of names is just another reason flat is better than nested. :)

Right. Packages are useful if it helps make the sub-names shorter. The email package is a good example: it uses lots of generic names like errors, charset, encoders, message, parser, utils, iterators.

-- --Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-Dev mailing list