[Catalog-sig] Deprecate External Links

PJ Eby pje at telecommunity.com
Fri Mar 1 17:37:56 CET 2013

On Fri, Mar 1, 2013 at 4:24 AM, M.-A. Lemburg <mal at egenix.com> wrote:
> On 01.03.2013 10:02, Reinout van Rees wrote:
>> On 28-02-13 21:08, holger krekel wrote:
>>>> I have seen that position in this discussion ("I have to upload 120
>>>> >files per release, so I won't do that", for instance).
>>> haven't seen that.
>> Marc-Andre Lemburg said this, which I took to mean 120 uploads per release:
>> """
>> However, taking our egenix-mx-base package as example, we have
>> 120 distribution files for every single release. Uploading those
>> to PyPI would not only take long, but also ...
>> """
> Correct, with a total of over 100MB per release. However, the above
> quote is slightly incorrect: I did not say "I won't do that", just
> that there are issues with doing this:
> * It currently takes too long uploading that many files to
>   PyPI. This causes a problem, since in order to start the upload,
>   we have to register the release on PyPI, which tools will then
>   immediately find. However, during the upload time, they won't
>   necessarily find the right files to download and then fail.

Actually, easy_install doesn't pay any attention to what releases are
registered.  It just looks for primary and secondary links.  If there
are links for a version that it can use, it uses it.  If it does not
find links for a version, then that version does not exist, as far as
it is concerned.  So registering without files is not a problem.

>   The proposed pull mechanism (see
>   http://wiki.python.org/moin/PyPI/DownloadMetaDataProposal)
>   would work around this problem: tools would simply go to
>   our servers in case they can't find the files on PyPI.

That proposal is unnecessary, actually.  You could *right now* simply
place binary download links (with optional "#md5=...." verification)
in your package's description field, and the moment you registered the
package, existing tools would find those links and download them from
your site.  You could then remove your home page and download URLs
from the relevant fields, and place them also in the description.
(easy_install does not follow non-download links within the
description -- i.e., links that don't end in .egg, .tgz, etc. and
don't have an #egg tag.)

> * PyPI doesn't allow us to upload two egg files with the same
>   name: we have to provide egg files for UCS2 Python builds and
>   UCS4 Python builds, since easy_install/setuptools/pip don't
>   differentiate between the two variants.

They can if it's part of the platform string; the catch is that right
now it's not.  We'd have to go through an upgrade cycle of the tools
to support that.  I need to take a look at what PEP 427 is doing (and
you should too, if you haven't already) to get this part sorted out.

More information about the Catalog-SIG mailing list