[Distutils] "setuptools" package preview

Fred L. Drake, Jr. fdrake at acm.org
Mon Mar 8 15:21:02 EST 2004


On Sunday 07 March 2004 05:38 pm, Phillip J. Eby wrote:
 > * feature management -- you can define subsets of a distribution as
 > "features" that can be enabled or disabled via '--with-X' and
 > '--without-X' options to 'setup.py'.  Features can (recursively) depend on
 > other features, and be included or excluded by default.  (Their inclusion
 > or exclusion affects all commands, as the relevant
 > packages/modules/data/scripts/whatever are added or removed just after
 > command line arguments are parsed.)

This seems nice, though I'm not sure I actually have an immediate need for 
this.  Do you expect to use this to provide sub-packages that would only be 
installed if they weren't installed by some other distribution?

 > * package data installation -- you can specify filenames or globs to be
 > searched for in package source directories, for installation alongside the
 > package .py files.  All without munging the 'install_data' command or
 > manually copying files, and the data files are correctly included in the
 > 'get_outputs()' manifest for all the distutils features that depend on
 > knowing what files were copied.

I think this should be integrated directly into distutils as soon as possible.  
I looked at your implementation as of Friday, and it made sense to me.

 > * 'test' command -- optionally run a user-specified or
 > 'setup.py'-specified test suite via the 'unittest' module.

People have been wanting this in distutils for a while, but I don't think 
people agree much on how unit tests should be run (how to write them isn't 
very well agreed on either).  I suspect it's premature to integrate this into 
the main distutils at this time.

 > * Packages and modules can be simultaneously specified as arguments to
 > 'setuptools.setup()', unlike the standard distutils 'setup()'.

Yes!  This is goodness, and has been long requested.  This should go directly 
into distutils.

 > At this point, the package isn't quite ready for general release, as it
 > doesn't include documentation beyond docstrings, and of course the
 > dependency and documentation features aren't written yet.  But I believe

If you package up the two features I care most about as a patch to distutils, 
I'll happily write the documentation for them.  ;-)

I like the idea of having an extended distutils for advanced packaging, but I 
don't see that such a beast would need to be integrated into distutils whole 
hog, or that it makes sense to do so.  We should be able to pick the features 
that belong in the distutils core independently of what an extended package 
supports.


  -Fred

-- 
Fred L. Drake, Jr.  <fdrake at acm.org>
PythonLabs at Zope Corporation




More information about the Distutils-SIG mailing list