[Distutils] Weird PyPI Behavior

Phillip J. Eby pje at telecommunity.com
Thu Jun 29 00:09:32 CEST 2006


At 05:42 PM 6/28/2006 -0400, Jim Fulton wrote:
>If I want people to be able to download it, I have to upload it
>somewhere.

Not necessarily.  If you have a pure-Python package, and your target 
audience has Subversion, you can provide a URL on PyPI that always obtains 
the most recent possible development snapshot.  For example, "easy_install 
setuptools==dev" will check out the setuptools trunk and install an egg 
from it, properly tagged as a development release with the subversion 
revision.  "easy_install setuptools==dev06" will check out the head of the 
0.6 maintenance branch.

Of course, if you want to provide *built* daily snapshots, then this 
doesn't help you.


>I have two choices, upload it to pypi, or create my own download
>area.  I would do one or the other, not both.  It seems confusing, to
>me and to consumers to have two download areas, my own and pypi's.
>I'd rather use PyPi's because it's integration with setup.py is so
>convenient.
>
>OTOH, if it is considered bad form to upload dev releases to PyPi, I
>can just write
>helper scripts to upload somewhere else.

I don't know if there's a consensus that it's bad form.  I do think that it 
would quickly become annoying to readers of Planet Python or even just the 
PyPI RSS feed if every Zope project was churning out snapshots of every SVN 
checkin, every day.  :)

As it is, there are lots of projects that churn their PyPI releases more 
often than I'd prefer to see going by, but ah well.  Moderation in all 
things is best, I suppose.  :)

I won't say you *should* do one thing or the other, but I will note that 
the "rotate" command of setuptools is meant to help clean up directories 
containing automated nightly builds or svn snapshots.  So, if you have 
servers whose job it is to do continuous builds, they can do stuff like 
"bdist_egg -b /output-dir rotate -k5 -m.egg -d /output-dir" to put the 
built egg in /output-dir and keep the 5 newest eggs.  Several projects can 
safely share the same output directory, and the output directory doesn't 
need to be served by anything fancy; see e.g. 
http://peak.telecommunity.com/snapshots/ for an example of such a directory.




More information about the Distutils-SIG mailing list