[Python-Dev] On breaking modules into packages Was: [issue10199] Move Demo/turtle under Lib/

Raymond Hettinger raymond.hettinger at gmail.com
Tue Nov 2 23:47:58 CET 2010


On Nov 1, 2010, at 7:35 PM, Brett Cannon wrote:
> 
> I think the issue here is that the file structure of the code no
> longer matches the public API documented by unittest. Personally I,
> like most people it seems, prefer source files to be structured in a
> way to match the public API. In the case of unittest Michael didn't.
> He did ask python-dev if it was okay to do what he did, we all kept
> quiet, and now we have realized that most of us prefer to have files
> that mirror the API; lesson learned. But Python 2.7 shipped with this
> file layout so we have to stick with it lest we break any imports out
> there that use the package-like file structure Michael went with
> (which we could actually document and use if we wanted now that
> Michael has already broken things up). Reversing the trend by sticking
> all the code into unittest/__init__.py and then sticking import shims
> into the existing modules would be a stupid waste of time, especially
> considering the head maintainer of the package likes it the way it is.

I'm not sure I follow where we're stuck with the current package.
AFAICT, the module is still used with "import unittest".
The file splitting was done badly, so I don't think there any of the
components are usable directly, i.e. "from unitest.case import SkipTest".
Also, I don't think the package structure was documented or announced.

This is in contrast to the logging module which does have a
clean separation of components and where it isn't unusual
to import just part of the package.

What is it you're seeing as a risk that I'm not seeing?
Are we permanently locked into the exact ten filenames
that are currently used:  utils, suite, loader, case, result, main, signals, etc?
Is the file structure now frozen?

Raymond
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20101102/2b621d9a/attachment.html>


More information about the Python-Dev mailing list