Subject: bug#74514: ‘guix import pypi -r’ should continue upon missing source

From: Ludovic Courtès <[email-masked]>
Date: Sun, 24 Nov 2024 21:53:54 +0100

Hello,

Currently, ‘guix import pypi -r’ stops on the first issue encountered
without emitting anything:

--8<---------------cut here---------------start------------->8---
$ guix import pypi nipype -r

Starting download of /tmp/guix-file.p7PvGO
>From https://files.pythonhosted.org/packages/71/a3/21d7da0d9da534fd4ec7b382b8511a6eeb7f962085a6d6fb2ec9329c459d/nipype-1.9.1.tar.gz...
 …9.1.tar.gz  2.8MiB                 41.8MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.N0fQlv
>From https://files.pythonhosted.org/packages/fc/f7/f82b34579f9ae6759aa8b1cec9640d60b6a8db28eaebcf2f88fd8e98650e/nipype-1.9.1-py3-none-any.whl...
 …y3-none-any.whl  3.1MiB            43.4MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.EjPKZq
>From https://files.pythonhosted.org/packages/b7/ce/76ca23e81d650fa90b558a882007eb563a0bbb135d1e2f3959aa92ffb4bb/acres-0.1.0.tar.gz...
 ….0.tar.gz  9KiB                     6.4MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.zXCtBc
>From https://files.pythonhosted.org/packages/ef/76/341a0bec7d8159569eee18c9838cad0802a1c31775c195d5a146bdcdd1bb/acres-0.1.0-py3-none-any.whl...
 …3-none-any.whl  9KiB                7.5MiB/s 00:00 ▕██████████████████▏ 100.0%
guix import: error: no source release for pypi package etelemetry 0.3.1

hint: This indicates that the package is available on PyPI, but only as a "wheel" containing
binaries, not source.  To build it from source, refer to the upstream repository at
`https://github.com/sensein/etelemetry-client'.

--8<---------------cut here---------------end--------------->8---

Several people already suggested that it would be more helpful to emit
something, including possibly a mere template for the faulty package,
than to emit nothing.

In the missing source case as above, I think the importer could actually
automatically switch to importing from a Git clone since it has all the
info.

Ludo’.