[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