Subject: bug#49168: ‘guix import pypi’ misses package dependencies

From: Leo Prikler <[email-masked]>
Date: Tue, 22 Jun 2021 14:37:55 +0200

Am Dienstag, den 22.06.2021, 14:33 +0200 schrieb Ludovic Courtès:
> Hi,
> 
> Leo Prikler <[email-masked]> skribis:
> 
> > > Here, some of tablib’s dependencies are missing; the same problem
> > > seems
> > > to happen with python-django-import-export itself.
> > > 
> > > Are we failing to parse some of the PyPI metadata?
> > I don't think so, rather it appears as though the requires.txt is
> > somehow malformed or ill-suited for importing.  It basically marks
> > all
> > inputs as optional.
> 
> Oh.  So that’s first and foremost a bug of the PyPI package, right?
> 
> Actually
> <
> https://files.pythonhosted.org/packages/fe/9d/4e15b2e74044ee051b6939c1b3ff716b0106e8f72d78eab8e08212eab44c/tablib-3.0.0.tar.gz
> >
> does not have a ‘requirements.txt’ file, and
> <
> https://files.pythonhosted.org/packages/16/85/078fc037b15aa1120d6a0287ec9d092d93d632ab01a0e7a3e69b4733da5e/tablib-3.0.0-py3-none-any.whl
> >
> doesn’t have much metadata, so I don’t even get where were get that
> info.
It does, but it's well hidden in the src tree.  I peeked into the guix
import code to find it.

> > Perhaps we could instruct the importer to emit comments for
> > optional
> > inputs like so
> > ;; Optional inputs by section
> > ;; -- [SECTION]
> > ;; ("python-some-package" ,python-some-package)
> > ;; ("python-some-other-package" ,python-some-other-package) 
> > Maybe add a command line switch to toggle these comments or a way
> > of
> > assuming some section, e.g. [cli] to be the thing we want to build
> > for
> > a package.
> 
> A CLI switch to include optional dependencies would be nice.
> 
> As for emitting comments, the (not-so-) pretty printer written for
> ‘guix
> style’¹ could come in handy for importers and more generally in any
> place where we need to emit comments.
Indeed, I wasn't thinking about that when I wrote this reply, but I see
what you mean.  Should we strive to have such a pretty-printer in Guile
as well or do we keep it to ourselves for now? :)

> Thanks,
> Ludo’.
> 
> ¹ https://issues.guix.gnu.org/49169