While this is going to require a PEP (which I am willing to write), the discussion of adding pysqlite has brought forth some discussion on naming and packaging in the stdlub. Perhaps it's time to start discussing the Great Library Reorganization that has been discussed for eons.
Here is a place I think we can take a queue from Java. I think we should have a root package, 'py', and then have subpackages within that. Those subpackages would group the existing modules that are not already in a nice package hierarchy. In other words, try to make it so that importing an actual module takes no more than three dots in the general case: ``from py.dev import pdb``, etc. I do think it is okay to put things without proper classification just under 'py' without being in a subpackage. The three dots idea is not hard. We could, for instance, have a py.dist subpackage and have pkgutil and distutils under it. That will make the modules in distutils take four dots, but that's just life and I think within reason for something that is not used directly by a large number of people. I also have no issue taking certain names from existing modules and making them both a module directly (as in putting what exists in a module into __init__.py for the subpackage with the same name) on top of putting more modules in the subpackage. The issue I see with this, though, is people doing something like ``from py import pickle; pickle.pickletools.dis()``, not realizing they need to import pickletools directly instead of getting to it through py.pickle . I don't want to spark a subpackage grouping discussion yet since we should decide on a general strategy of how we want the basic stdlib organized. I also don't want to argue over module renaming directly since that can be based on what subpackages there might be. -Brett _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com