[Python-Dev] Easy, uncontroversial setuptools->distutils tasks

Phillip J. Eby pje at telecommunity.com
Sat Apr 22 02:45:51 CEST 2006


This is for the folks who wanted to get their feet wet with the setuptools 
codebase...

Setuptools has 4 "convenience" commands that can be trivially ported to the 
distutils, and 3 of those shouldn't require anything more than copying the 
code, translating the docs from reST to LaTeX, and changing a couple of 
imports from 'setuptools' to 'distutils'.

The four commands are: alias, rotate, saveopts and setopt.  Porting 'alias' 
will also require you to merge a few lines of alias expansion code from 
setuptools.dist.Distribution._parse_command_opts() into the corresponding 
class in distutils.dist, but the others should be entirely 
self-contained.  One of the commands also currently runs the "egg_info" 
command, but that's just to support setuptools' version-tagging features, 
which I'm not proposing be ported at the moment.

These aren't exactly critical features; they're really just conveniences 
for people that work with the distutils a lot.  Not really setuptools' main 
audience, in other words.  ;)  But getting these commands moved over in 2.5 
would take away a few hundred lines of code from setuptools and thereby 
make it about 5% less scary by line count, and about 15% less scary by 
module count.  :)

The reference documentation for these commands is in reST format in 
trunk/sandbox/setuptools.txt.  And speaking of the sandbox, if anybody 
wants to update setuptools.command.__init__ so it doesn't include these 
commands when running under 2.5, that counts for extra credit.  That is, it 
means you'll have worked on setuptools itself as well as the distutils.  :)

Any takers?  Better hurry, 'cause these modules *will* go fast.  :)  It'll 
probably take you longer to edit the docs than to change the code.



More information about the Python-Dev mailing list