[Distutils] New features in setuptools SVN

Phillip J. Eby pje at telecommunity.com
Tue Jan 10 05:14:23 CET 2006


I just checked in a couple of new features for EasyInstall that some of you 
will be interested in.

First, '.' is now allowed in project names, and '_' and '-' in names should 
no longer confuse EasyInstall when it searches PyPI.  It will use whatever 
characters you originally entered.

The bad news is that this could break any existing dependencies to projects 
with a '.' in their names, because the '.' was being converted to '-' 
before, and isn't now.  The good news is that there are only 5 PyPI 
projects with a '.' in the name (rsync.py, spider.py, _sre.py, 
zope.interface, and zope.testbrowser), and of them only '_sre.py' had a 
prayer of working with EasyInstall before.

Now, 'spider.py' also works due to the next new feature, which is that 
installation of bare '.py' files (no accompanying setup.py) is now 
supported.  If a PyPI "Download URL" points to a file with a .py extension, 
EasyInstall will automatically create a proper setup.py alongside it.  It 
can also do this for any link to a .py file that includes an 
'#egg=name-version' fragment identifier, so that you can use a link like this:

    http://bellsouthpwp.net/m/e/mefjr75/python/PySourceColor.py#egg=PySourceColor-2.1a_20050425

to point to somebody's .py file and assign it a project name and 
version.  Note that the '#egg' tag must be *unambiguous*, which means you 
cannot have a '-' in the project name or version.  You must escape them as 
'_' characters, using the '-' only to delimit the name from the 
version.  Anyway, if you do this on *your* project's PyPI page to link to 
your project's unpackaged dependencies, you can fill in for the 
dependency's lack of a PyPI page or setup script, while still using the 
normal setuptools way of specifying project dependencies.

Please let me know if you have any questions or problems using these new 
features.  Thanks!



More information about the Distutils-SIG mailing list