From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id gCyQJ7DRAmYNKQAAe85BDQ:P1 (envelope-from ) for ; Tue, 26 Mar 2024 14:46:24 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id gCyQJ7DRAmYNKQAAe85BDQ (envelope-from ) for ; Tue, 26 Mar 2024 14:46:24 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=bioneland.org header.s=20230804 header.b=QXb6alwb; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1711460784; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=d8DQgt3kFKIAW1UNn13MJcJJXuvqFfm6V554YTdr3Uc=; b=MWL6nhY6+1dugi+Qf/IgqBbC4CNb1jKKwIZMG7BRfSg3OXxDHNHOota+G6Wr38z/hr7vea e4uczqxtP17/M/hU/AWl2/bQc+84ako+SZSdHr9At+mfUYDBduUedHowwZynh9rrEUujn+ 9tyeTi0snyPhk2130N7zcwhUuwWgCnqzrzqI86chP/bTAKgRY9uLm5Hpp6d4pNjHUeKTiv SI1fP+UCFrIEuSxGTvfanbu3eQ/vZZaul70cxqsJPif48AjNO6SIdyeNTH84MFCEb7/AaE rLg6X/xtQY+4Z+e22TvZ0R5CH5kgpA/DC3pLksJsxnwQqAkEif+nTNhjy6oGJA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=bioneland.org header.s=20230804 header.b=QXb6alwb; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1711460784; a=rsa-sha256; cv=none; b=fNdt6im+w8x2ijrMc+a9JWeH7dAiN4HTafYsg5LehNPGB1vFZZqor19/KSphLJnDxZ8/nH D4AzdywHWjzjZ2Vcj5Lkmq6juimHZJSE9cdgwFC+IpyOOCRY9uYHr/KJMMkfUqPqXJPLoA NzKMI1oZJGg1BpfyEMLBeMX8TJLoGpULZi7l5aSnPNbVGRUX6h7pzZ8bbbNcfyPelEkBFm FUgahWsOLEWF/IeQCTX1EVCOsLn5iifm9AzAbYeaPFcNr48faVki9qwiv5AWLCSBwkpNFG Vn1OuOTOdvGKjfvQgmlokd17L+2w9qcpu5HfbgHhwC+EaEfAtwe3Ot1YRk4UrQ== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 865F772E01 for ; Tue, 26 Mar 2024 14:46:24 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rp77w-0000a7-EY; Tue, 26 Mar 2024 09:46:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rp77r-0000Hx-Ph for bug-guix@gnu.org; Tue, 26 Mar 2024 09:46:04 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rp77r-0007uz-HL for bug-guix@gnu.org; Tue, 26 Mar 2024 09:46:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rp77r-0000kH-1O for bug-guix@gnu.org; Tue, 26 Mar 2024 09:46:03 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#69997: Should =?UTF-8?Q?=E2=80=98guix?= import =?UTF-8?Q?pypi=E2=80=99?= get dependencies from pyproject files? Resent-From: Tanguy LE CARROUR Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 26 Mar 2024 13:46:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 69997 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 69997@debbugs.gnu.org, Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Munyoki Kilyungi , Sharlatan Hellseher , Lars-Dominik Braun , jgart , Marius Bakke Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.17114607432786 (code B ref 69997); Tue, 26 Mar 2024 13:46:03 +0000 Received: (at 69997) by debbugs.gnu.org; 26 Mar 2024 13:45:43 +0000 Received: from localhost ([127.0.0.1]:33117 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rp77W-0000is-UX for submit@debbugs.gnu.org; Tue, 26 Mar 2024 09:45:43 -0400 Received: from smtp-8faf.mail.infomaniak.ch ([83.166.143.175]:39813) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rp77T-0000iZ-QT for 69997@debbugs.gnu.org; Tue, 26 Mar 2024 09:45:41 -0400 Received: from smtp-3-0001.mail.infomaniak.ch (smtp-3-0001.mail.infomaniak.ch [10.4.36.108]) by smtp-4-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4V3hs70MFRzC8R; Tue, 26 Mar 2024 08:54:19 +0100 (CET) Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4V3hs60PMzzMppNC; Tue, 26 Mar 2024 08:54:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bioneland.org; s=20230804; t=1711439658; bh=XtuLI7Helujucr9pXDbh1ywuVGpMzEi1NzSbHrs7e30=; h=References:Subject:From:Cc:To:In-Reply-To:Date:From; b=QXb6alwbCcLKmuN46/GlhULOOG8vmmEU0IoAcWfd9uu+iQytDoZ0ykIEsAvACHSyE pKc3Zb7mIVVbKO2E3C7tBPdd4qFCAuZXlqFosTFMtFKsl2zD6eyuNvRQUnAr6ipk2X 38Si9wYMWwlCj7s/cQoEdMeYhGrY+mgvXE/vtTNZEPEaQNqJ9oegdN88sVNoHF3lmv 4HWaYsaIxzMC+vhoE8KaT0Q3kFhDWyaHMfA0opUVzC5FtgqZESyJH1ZqdyFsl7r1MX 4Rqm4PKsuV0SJ1aScX4a45HzeK2UEsjKCm75JXpilk/qQfUCMBOlP54GPLOcoEsuZC Izzy2p52GllGA== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable References: <877chqtvsk.fsf@inria.fr> From: Tanguy LE CARROUR In-Reply-To: <877chqtvsk.fsf@inria.fr> Date: Tue, 26 Mar 2024 08:54:17 +0100 Message-ID: <171143965734.4362.8405481724513962855@bioneland.org> User-Agent: alot/0.10 X-Infomaniak-Routing: alpha X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: bug-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Queue-Id: 865F772E01 X-Spam-Score: -2.75 X-Migadu-Spam-Score: -2.75 X-Migadu-Scanner: mx11.migadu.com X-TUID: JQKpityV0jn9 Hi Ludo=E2=80=99, Quoting Ludovic Court=C3=A8s (2024-03-25 12:06:51) > Should =E2=80=98guix import pypi=E2=80=99 attempt to get dependency infor= mation from > =E2=80=98pyproject.toml=E2=80=99, in addition to =E2=80=98requirements.tx= t=E2=80=99 and wheel =E2=80=98METADATA=E2=80=99 > as it already does? >=20 > It might be more complicated than we=E2=80=99d like: in some cases, that = file > seems to be used as a =E2=80=9Ctrampoline=E2=80=9D to Poetry. For instan= ce, in > python-pypugjs, the =E2=80=98requires=E2=80=99 bit delegates everything t= o Poetry: Short answer: no! =F0=9F=98=81 I=E2=80=99m pretty sure you know everything that I=E2=80=99m about to write= , but better say it out loud=E2=80=A6 For a "standard modern" project managed with Poetry, the Python source package contains `PKG-INFO` and `pyproject.toml ` that both contain the run time dependencies. The wheel package only contains `METADATA` that lists the dependencies. The source only contains a `pyproject.toml`. To make the installed package as small as possible, tests files and uncompiled assets are not (should not be) included. >From a Guix stand point, it=E2=80=99s better to build from source to be abl= e to run the test suite. For the `python-pypugjs` you used as an example, we build from source, so I guess the question does not arise. If we were to use the packages available on PyPI, what I said above is *NOT* confirmed =F0=9F=98=B1: - wheel (`.whl`) only contains `METADATA` with the dependencies; **BUT** - source (`.tar.gz`) contains `PKG-INFO` (without dependency information), `pyproject.toml` (with dep=E2=80=99) and `setup.py` (also with dep=E2=80= =99). =E2=80=A6 "fun" fact, the information in `pyproject.toml` are **NOT** the s= ame as the one in `setup.py`!? =F0=9F=A4=AF `pyproject.toml` says that `nose` is a= run time dependency (which it is not), but `setup.py` properly lists it in `tests_re= quire`. So, my answer would be: do not import from PyPI! Yes, I know, it=E2=80=99s = radical! =F0=9F=98=85 But if you have to, rely on the wheel=E2=80=99s `METADATA` file. I hope this make sense. =E2=80=A6 I=E2=80=99m not really sure any more! =F0= =9F=98=85 Regards, --=20 Tanguy