[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
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
>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