From unknown Thu Aug 14 22:20:39 2025 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: lars@6xq.net, marius@gnu.org, me@bonfacemunyoki.com, sharlatanus@gmail.com, tanguy@bioneland.org, jgart@dismail.de, bug-guix@gnu.org Resent-Date: Mon, 25 Mar 2024 16:16:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 69997 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 69997@debbugs.gnu.org Cc: Lars-Dominik Braun , Marius Bakke , Munyoki Kilyungi , Sharlatan Hellseher , Tanguy Le Carrour , jgart X-Debbugs-Original-To: bug-guix@gnu.org X-Debbugs-Original-Xcc: Lars-Dominik Braun , Marius Bakke , Munyoki Kilyungi , Sharlatan Hellseher , Tanguy Le Carrour , jgart Received: via spool by submit@debbugs.gnu.org id=B.171138335127146 (code B ref -1); Mon, 25 Mar 2024 16:16:05 +0000 Received: (at submit) by debbugs.gnu.org; 25 Mar 2024 16:15:51 +0000 Received: from localhost ([127.0.0.1]:35874 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1romzH-00073m-2g for submit@debbugs.gnu.org; Mon, 25 Mar 2024 12:15:51 -0400 Received: from lists.gnu.org ([2001:470:142::17]:33816) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1romzE-00072v-Tg for submit@debbugs.gnu.org; Mon, 25 Mar 2024 12:15:50 -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 1roiAS-00043J-GE for bug-guix@gnu.org; Mon, 25 Mar 2024 07:07:04 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1roiAP-0004yS-UL for bug-guix@gnu.org; Mon, 25 Mar 2024 07:07:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=MlsJG22EjqsWwnPJoqxdluhvQUrY1kcRZOG7Vh2x4D0=; b=Ht7YCvCYC2iDyTBZwIfc0T+LwoN26UcQc0KDOyoZ4ebynBUS/jb9sEZO Q9iPIipzRu5uhPVwwzE4zY3N5BeCgdk9yX2NpFSqt7MBrtgbUzODhppqw H4iEmxKND6WOdsYCmFM1SiqGpjHN6C38bHErnDTea4B3e9R/jTPzQpbZr E=; Authentication-Results: mail3-relais-sop.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=ludovic.courtes@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.07,153,1708383600"; d="scan'208";a="83012992" Received: from unknown (HELO ribbon) ([89.207.171.77]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2024 12:06:54 +0100 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Sextidi 6 Germinal an 232 de la =?UTF-8?Q?R=C3=A9volution,?= jour de la Blette X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 25 Mar 2024 12:06:51 +0100 Message-ID: <877chqtvsk.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=192.134.164.104; envelope-from=ludovic.courtes@inria.fr; helo=mail3-relais-sop.national.inria.fr X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SBL_CSS=3.335, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: 3.6 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello Python team! Should =?UTF-8?Q?=E2=80=98guix?= import =?UTF-8?Q?pypi=E2=80=99?= attempt to get dependency information from =?UTF-8?Q?=E2=80=98pyproject.toml=E2=80=99,?= in addition to =?UTF-8?Q?=E2=80=98requirements.txt=E2=80=99?= and wheel =?UTF-8?Q?=E2=80=98METADATA=E2=80=99?= as it already does? It might be more complicated than =?UTF-8?Q?we=E2=80=99d?= like: in some cases, that file seems to be used as a =?UTF-8?Q?=E2=80=9Ctrampoline=E2=80=9D?= to Poetry. For instance, in python-pypugjs, the =?UTF-8?Q?=E2=80=98requires=E2=80=99?= bit delegates everything t [...] Content analysis details: (3.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [89.207.171.77 listed in zen.spamhaus.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 T_SPF_PERMERROR SPF: test of record failed (permerror) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.6 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello Python team! Should =?UTF-8?Q?=E2=80=98guix?= import =?UTF-8?Q?pypi=E2=80=99?= attempt to get dependency information from =?UTF-8?Q?=E2=80=98pyproject.toml=E2=80=99,?= in addition to =?UTF-8?Q?=E2=80=98requirements.txt=E2=80=99?= and wheel =?UTF-8?Q?=E2=80=98METADATA=E2=80=99?= as it already does? It might be more complicated than =?UTF-8?Q?we=E2=80=99d?= like: in some cases, that file seems to be used as a =?UTF-8?Q?=E2=80=9Ctrampoline=E2=80=9D?= to Poetry. For instance, in python-pypugjs, the =?UTF-8?Q?=E2=80=98requires=E2=80=99?= bit delegates everything t [...] Content analysis details: (2.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [89.207.171.77 listed in zen.spamhaus.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 T_SPF_PERMERROR SPF: test of record failed (permerror) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager Hello Python team! Should =E2=80=98guix import pypi=E2=80=99 attempt to get dependency informa= tion from =E2=80=98pyproject.toml=E2=80=99, in addition to =E2=80=98requirements.txt= =E2=80=99 and wheel =E2=80=98METADATA=E2=80=99 as it already does? It might be more complicated than we=E2=80=99d like: in some cases, that fi= le seems to be used as a =E2=80=9Ctrampoline=E2=80=9D to Poetry. For instance= , in python-pypugjs, the =E2=80=98requires=E2=80=99 bit delegates everything to = Poetry: --8<---------------cut here---------------start------------->8--- [tool.poetry] name =3D "pypugjs" version =3D "5.9.4" description =3D "" authors =3D ["Andy Grabow "] license =3D "MIT" [tool.poetry.dependencies] python =3D "^3.8" Jinja2 =3D "^3.1.1" Mako =3D "^1.1.3" tornado =3D "^6.0.4" six =3D "^1.15.0" coverage =3D "^6.3.2" nose =3D "^1.3.7" Flask =3D "^2.1.1" charset-normalizer =3D "^2.1.0" flake8 =3D "^4.0.1" [tool.poetry.dev-dependencies] [build-system] requires =3D ["poetry-core>=3D1.0.0"] build-backend =3D "poetry.core.masonry.api" --8<---------------cut here---------------end--------------->8--- Thoughts? Ludo=E2=80=99. From unknown Thu Aug 14 22:20:39 2025 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: Sharlatan Hellseher Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 25 Mar 2024 19:29:02 +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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 69997@debbugs.gnu.org Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.171139493016266 (code B ref 69997); Mon, 25 Mar 2024 19:29:02 +0000 Received: (at 69997) by debbugs.gnu.org; 25 Mar 2024 19:28:50 +0000 Received: from localhost ([127.0.0.1]:36318 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1roq02-0004EI-Cn for submit@debbugs.gnu.org; Mon, 25 Mar 2024 15:28:50 -0400 Received: from mail-lj1-x22f.google.com ([2a00:1450:4864:20::22f]:61785) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1roq00-0004E5-QH for 69997@debbugs.gnu.org; Mon, 25 Mar 2024 15:28:49 -0400 Received: by mail-lj1-x22f.google.com with SMTP id 38308e7fff4ca-2d4360ab3daso77720511fa.3 for <69997@debbugs.gnu.org>; Mon, 25 Mar 2024 12:28:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711394923; x=1711999723; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=KrFLanmuJE59K/oGOuoQM3U8AJhz++I6tfIbUCdEMUg=; b=btvE5xRtWaKXNB0wfFxKVlMTBz25CmhrKecAhNsh7wrNlCfuiWDYSDx9NJw2SbpHHG bka2QqUKajPin9I6nKoMgYxnw93bVZfutX4P7aUAu+TwO0mmUJbt07mabx9HvqohgzS4 Q/IU1QkLx4wK8manKpZUPEjnyrj7Ynzj8bBNmh4bGYhBCRBoQv+WBuOBADGnupC2HAyD YXIjB4iNUcI3D+8Twy7hsdYhfpHNVmAUVRVgbc+shWgwtAeE7Jbpz4vSjwk+W29Mi7M9 o58QjK0I1D8eia/lySqpBeXpLIBqheoFDwb+EisRzB9XDU0Rd7D01hg2f8fh2r4yliaz PmIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711394923; x=1711999723; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=KrFLanmuJE59K/oGOuoQM3U8AJhz++I6tfIbUCdEMUg=; b=VYV2q9pDxs9fFxQ/N1ZLm0X1NDjTCdSYDiX+KkIlY+G705SI7kAkLxDnun2pdXXIkq AmjzULQFKqAvIds5sL2mnCrZRtH6O9yNiUgEQIqUK8ilHCkywcSP8zo2vzDh+asvHD+2 eYD9QSIGvMK5lyBOKfdafMBbMTuPGyDJUbAjdOinfyAWvrb6Sr+c0wMu+We5qTVJ+Qrs aaJRogHz0ydmlw+q+I7uB0LDNo9vwMBBKGiHrTB0knh1AnVbVuXbyE/Tf4fRS1DeZtOE IBwO3Dp3k9XOEIPgn0iR/j6VO90IDEBwvLxhbjwRQH3ZC2mNG6j7hGSTOZbVRVKp++N/ Skbw== X-Gm-Message-State: AOJu0YzQf5i2QXN8+KuxuMENKJr0aP3Y9+tYVPtHpywKEoZMjXQFm+RX QLCqAOA3yD0TRsPoIDY/p0ivovBJEu3bUqAG5ZgSOYCUx/dCGBjHsXVUhGzO99BuzeAszGQOdKh KTsti9GsExCXZcvqqGCmEqK+NEmA= X-Google-Smtp-Source: AGHT+IGv9GIx5TGm1tFAn3avNGehuvDJaE2VaE3ueHHZU0SjZT0HAhOW0jdnBUAQHpdMEnIAnaZupZcZ5GfNtkVT3FI= X-Received: by 2002:a2e:959a:0:b0:2d6:a5f6:c8d3 with SMTP id w26-20020a2e959a000000b002d6a5f6c8d3mr5030259ljh.27.1711394922900; Mon, 25 Mar 2024 12:28:42 -0700 (PDT) MIME-Version: 1.0 References: <877chqtvsk.fsf@inria.fr> In-Reply-To: <877chqtvsk.fsf@inria.fr> From: Sharlatan Hellseher Date: Mon, 25 Mar 2024 19:28:31 +0000 Message-ID: Content-Type: multipart/alternative; boundary="0000000000007333630614812ec6" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000007333630614812ec6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Lido! > Should =E2=80=98guix import pypi=E2=80=99 attempt to get dependency > information fromn=E2=80=98pyproject.toml=E2=80=99, in addition to > =E2=80=98requirements.txt=E2=80=99 and wheel =E2=80=98METADATA=E2=80=99 a= s it already does? It's quite a common practice in modern Python just to include pyproject.toml, that fact makes importing long chains problematic. It would be nice to have common yaml/toml parser for that task. Oleg --0000000000007333630614812ec6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Lido!

> Should =E2=80=98guix import pypi=E2=80=99 attempt to ge= t dependency=C2=A0
> information fromn=E2=80=98py= project.toml=E2=80=99, in addition to=C2=A0
> =E2= =80=98requirements.txt=E2=80=99 and wheel =E2=80=98METADATA=E2=80=99 as it = already does?

It's q= uite a common practice in modern Python just to include
=C2=A0pyproject.toml, that fact makes importing long chains problematic= .

It would be nice to ha= ve common yaml/toml parser for that task.

=
Oleg
--0000000000007333630614812ec6-- From unknown Thu Aug 14 22:20:39 2025 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-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) 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 From unknown Thu Aug 14 22:20:39 2025 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 26 Mar 2024 16:06:02 +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: Tanguy LE CARROUR Cc: Sharlatan Hellseher , Munyoki Kilyungi , Lars-Dominik Braun , jgart , Marius Bakke , 69997@debbugs.gnu.org Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.171146910414055 (code B ref 69997); Tue, 26 Mar 2024 16:06:02 +0000 Received: (at 69997) by debbugs.gnu.org; 26 Mar 2024 16:05:04 +0000 Received: from localhost ([127.0.0.1]:34670 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rp9IN-0003ed-Pl for submit@debbugs.gnu.org; Tue, 26 Mar 2024 12:05:04 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:38980) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rp9IJ-0003dj-23 for 69997@debbugs.gnu.org; Tue, 26 Mar 2024 12:05:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version:content-transfer-encoding; bh=DBZ22Pwq27UX5og+vGsdPslI1R6HoMDy/vW0W64Lqdw=; b=GFeZOzDWJhA9xAw0FV2bOgL0565C42UvMIh3dCymANvT6NWM5T7DDxsF UqZgZSu0qlQS5WNTqt7szAS2ZaUBIZfQHNv9DRbWq7qk+qHP0V4Tv7O8C IkSFGxItUyW1n1DZad04NmfBR4R3tijNfjTGroZH7QCCkpU8R41TMS3tg E=; Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=ludovic.courtes@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.07,156,1708383600"; d="scan'208";a="158584611" Received: from eduroam-115027.grenet.fr (HELO ribbon) ([130.190.115.27]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Mar 2024 17:04:54 +0100 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= In-Reply-To: <171143965734.4362.8405481724513962855@bioneland.org> (Tanguy LE CARROUR's message of "Tue, 26 Mar 2024 08:54:17 +0100") References: <877chqtvsk.fsf@inria.fr> <171143965734.4362.8405481724513962855@bioneland.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Septidi 7 Germinal an 232 de la =?UTF-8?Q?R=C3=A9volution,?= jour du Bouleau X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Tue, 26 Mar 2024 17:04:52 +0100 Message-ID: <87o7b1ou6z.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello! Tanguy LE CARROUR skribis: > I=E2=80=99m pretty sure you know everything that I=E2=80=99m about to wri= te, but better > say it out loud=E2=80=A6 Nope, I know nothing (I=E2=80=99ve just been told about using =E2=80=98pypr= oject.toml=E2=80=99 and it seemed to kinda make sense. :-)) > 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 a= ble 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= same 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_= require`. Oh my, such a mess. > So, my answer would be: do not import from PyPI! Yes, I know, it=E2=80=99= s 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 It does! But then I mean, we could offer, say, =E2=80=98guix import upstream https:/= /=E2=80=A6=E2=80=99, and that thing could parse =E2=80=98setup.py=E2=80=99 or similar to produce= a package definition from that. Maybe that=E2=80=99s what you had in mind: import straight from upstream rather than via PyPI? Thanks, Ludo=E2=80=99. From unknown Thu Aug 14 22:20:39 2025 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 16:56:02 +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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Sharlatan Hellseher , Munyoki Kilyungi , Lars-Dominik Braun , jgart , Marius Bakke , 69997@debbugs.gnu.org Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.171147213722234 (code B ref 69997); Tue, 26 Mar 2024 16:56:02 +0000 Received: (at 69997) by debbugs.gnu.org; 26 Mar 2024 16:55:37 +0000 Received: from localhost ([127.0.0.1]:34815 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rpA5J-0005mY-46 for submit@debbugs.gnu.org; Tue, 26 Mar 2024 12:55:37 -0400 Received: from smtp-1908.mail.infomaniak.ch ([2001:1600:4:17::1908]:59459) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rpA5E-0005lu-PQ for 69997@debbugs.gnu.org; Tue, 26 Mar 2024 12:55:34 -0400 Received: from smtp-3-0001.mail.infomaniak.ch (smtp-3-0001.mail.infomaniak.ch [10.4.36.108]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4V3wsT2rD3zYxw; Tue, 26 Mar 2024 17:55:25 +0100 (CET) Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4V3wsS4XZDzMpnPl; Tue, 26 Mar 2024 17:55:24 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bioneland.org; s=20230804; t=1711472125; bh=lRGdHJVUAM5ntWp4HS4IH1MYtLKupir4lV3jjlCiSio=; h=References:Subject:From:Cc:To:In-Reply-To:Date:From; b=IAdXgdeM4JmVVdttNBjUs19Vz6FGEDXVg9/y+B9EvvLKL9vxQZiTlAkuasOLqpZew iaILv88Z6+zLMkNzSorid61SBOfLBC7wk/uLtotczWGra8bb6gkIIN22KzLbE2VBTu 330sssu0k3MOJ88evCEmLJD4uRE8p7dsMPMMS4VDhqG5UjCeecRx4aF5zTUFxtZhVn +CJJz3LayPNxKBsstZc6e4DaruBmjYtAtRF5Yy2Nj/Fa0utrq99vXqj41uWe6YCLGS oveXEOcHclzO4zvW2ccWHwrydhYTC+FVDLjtX1cbg6L+edNuc3Up/9rrA4o/BvAdS+ 7SB/1aWdByZXw== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable References: <877chqtvsk.fsf@inria.fr> <171143965734.4362.8405481724513962855@bioneland.org> <87o7b1ou6z.fsf@inria.fr> From: Tanguy LE CARROUR In-Reply-To: <87o7b1ou6z.fsf@inria.fr> Date: Tue, 26 Mar 2024 17:55:23 +0100 Message-ID: <171147212395.13452.3553266600176809571@bioneland.org> User-Agent: alot/0.10 X-Infomaniak-Routing: alpha X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Quoting Ludovic Court=C3=A8s (2024-03-26 17:04:52) > Tanguy LE CARROUR skribis: > > 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 >=20 > It does! >=20 > But then I mean, we could offer, say, =E2=80=98guix import upstream https= ://=E2=80=A6=E2=80=99, > and that thing could parse =E2=80=98setup.py=E2=80=99 or similar to produ= ce a package > definition from that. I=E2=80=99m not against a good-old-generic-solution=C2=AE, but this one mig= ht be a bit=E2=80=A6 too generic. It contains no mention to Python, so the next l= ogical step would be `guix import URL`. Not that I would not like it, though! =F0=9F=98= =81 So I would say=E2=80=A6 let=E2=80=99s wait and see what the others think. I= n the meantime, I=E2=80=99ll have to dive deeper in the PEP and the actual import= er code. > Maybe that=E2=80=99s what you had in mind: import straight from upstream = rather than via PyPI? I actually had nothing in mind! I blacked out after sending this email. Too many emotions at once, I guess! I had no clue it was such a mess. =F0= =9F=98=85 --=20 Tanguy From unknown Thu Aug 14 22:20:39 2025 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 17:15:02 +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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Sharlatan Hellseher , Munyoki Kilyungi , Lars-Dominik Braun , jgart , Marius Bakke , 69997@debbugs.gnu.org Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.17114732623352 (code B ref 69997); Tue, 26 Mar 2024 17:15:02 +0000 Received: (at 69997) by debbugs.gnu.org; 26 Mar 2024 17:14:22 +0000 Received: from localhost ([127.0.0.1]:34875 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rpANR-0000rz-VH for submit@debbugs.gnu.org; Tue, 26 Mar 2024 13:14:22 -0400 Received: from smtp-190a.mail.infomaniak.ch ([2001:1600:4:17::190a]:36305) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rpANN-0000ra-CL for 69997@debbugs.gnu.org; Tue, 26 Mar 2024 13:14:20 -0400 Received: from smtp-3-0001.mail.infomaniak.ch (smtp-3-0001.mail.infomaniak.ch [10.4.36.108]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4V3xH72MH5zW7Y; Tue, 26 Mar 2024 18:14:11 +0100 (CET) Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4V3xH65VV9zMpnPg; Tue, 26 Mar 2024 18:14:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bioneland.org; s=20230804; t=1711473251; bh=6Rvm1MpHFPiDnEOEpMApJ7ZXTfG0Wv52wMZ/1nacFyE=; h=References:Subject:From:Cc:To:In-Reply-To:Date:From; b=UYzA8jkusHrsDMaRI5G/59XncLaX9FdGW35j/lri2jWfjCWpP3Gy3Uuc9/eopkNWB JuGFXfFli82N5sasKEfrgHHgmq/3lbhrnHIBkxTK/Qx4oQIMqHBg5+lvqtGy5MnIdr ZH7urPDWM6FtTDuW5mFx4+10YG/Zv0qflYyKRU6hBERPOtt26LeOEJvxeJBFkKLPir jaNiaB+sZksssDaL6zjG6SGGFf7+Yoh+7Ca30Jay1GzzDiujXWAxMOfPz+qk/d+c95 Z0egaLYwlMPNIpBV6Hmj11YIhbBGB4EbmIAJS/koB/HU+p0HkOA25Yr7Wa8wvzjIi2 +tcRRU/1C36cA== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable References: <877chqtvsk.fsf@inria.fr> <171143965734.4362.8405481724513962855@bioneland.org> <87o7b1ou6z.fsf@inria.fr> <171147212395.13452.3553266600176809571@bioneland.org> From: Tanguy LE CARROUR In-Reply-To: <171147212395.13452.3553266600176809571@bioneland.org> Date: Tue, 26 Mar 2024 18:14:10 +0100 Message-ID: <171147325018.15415.4526491903307851998@bioneland.org> User-Agent: alot/0.10 X-Infomaniak-Routing: alpha X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, Quoting Tanguy LE CARROUR (2024-03-26 17:55:23) > Quoting Ludovic Court=C3=A8s (2024-03-26 17:04:52) > > Tanguy LE CARROUR skribis: > > > 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 mor= e! =F0=9F=98=85 > >=20 > > It does! > >=20 > > But then I mean, we could offer, say, =E2=80=98guix import upstream htt= ps://=E2=80=A6=E2=80=99, > > and that thing could parse =E2=80=98setup.py=E2=80=99 or similar to pro= duce a package > > definition from that. > [=E2=80=A6] > So I would say=E2=80=A6 let=E2=80=99s wait and see what the others think.= In the > meantime, I=E2=80=99ll have to dive deeper in the PEP and the actual impo= rter > code. According to PEP 427 [1] a.k.a. Binary distribution format [2], if you go for packaged/PyPI then we should go for `METADATA`. [1]: https://peps.python.org/pep-0427/ [2]: https://packaging.python.org/en/latest/specifications/binary-distribut= ion-format/#the-dist-info-directory But, as stated earlier, we should build from source, to make sure we can run the test suite. Active projects should slowly migrate to PEP 517 [3] `pyproject.toml`. But, this is not a solution! =F0=9F=98=B1 This is actuall= y yet another problem! =F0=9F=98=B5 [3]: https://peps.python.org/pep-0517/ Each build system relies on it=E2=80=99s own file organization. For instanc= e, Poetry looks for a `[tool.poetry.dependencies]` section in the file. So the importer should be "build system aware", which leads us to=E2=80=A6 `guix i= mport poetry URL`!? Not really generic any more! =F0=9F=98=9E I guess we should sleep on it=E2=80=A6 --=20 Tanguy From unknown Thu Aug 14 22:20:39 2025 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: Lars-Dominik Braun Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 27 Mar 2024 06:50: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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Tanguy Le Carrour , Munyoki Kilyungi , jgart , Marius Bakke , Sharlatan Hellseher , 69997@debbugs.gnu.org Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.171152218120679 (code B ref 69997); Wed, 27 Mar 2024 06:50:03 +0000 Received: (at 69997) by debbugs.gnu.org; 27 Mar 2024 06:49:41 +0000 Received: from localhost ([127.0.0.1]:35609 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rpN6T-0005NT-5K for submit@debbugs.gnu.org; Wed, 27 Mar 2024 02:49:41 -0400 Received: from mout-p-102.mailbox.org ([2001:67c:2050:0:465::102]:33828) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rpN6P-0005N7-QV for 69997@debbugs.gnu.org; Wed, 27 Mar 2024 02:49:39 -0400 Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4V4HMt11Wbz9sXk; Wed, 27 Mar 2024 07:49:30 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6xq.net; s=MBO0001; t=1711522170; h=from:from: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: in-reply-to:in-reply-to:references:references; bh=EQYeJM8EpU3YoNRu/+mnnxTRKPqw7Efl5WjZzZxCeIk=; b=nVgIQXlWqhsqAEzLqR9tVQ7FIc9JbAtaubBuWcK76uMoCeNvSQPUvSExOlVxXojo/rROvV eqeiIhEcwDWJ4gSqxojsVhabM4KOC7EGF2hbAheJlbPcTrh1sPvHT0fW8EyZQO4eRMUGaB jv7BCPBl2x+6yJfZR5/Kkn/iM6GBkkf/FZ1+e8W/HlzBIdOKDCMWGYvb6vK5sp0qobfyt1 igBTjriz9VtY11Oy8rzK1HVLelenHy4hjBC9b4UwJFpi+jLyTTMsC5Yq7M6Flwai0PNCNG H/PbO6Piu0azpooVuxGd5/ulV9GuE93fRW6wadT/HegRMgx6GFXZ/T7UMKZmKQ== Date: Wed, 27 Mar 2024 07:49:27 +0100 From: Lars-Dominik Braun Message-ID: References: <877chqtvsk.fsf@inria.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <877chqtvsk.fsf@inria.fr> X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hey Ludo, > Should ‘guix import pypi’ attempt to get dependency information from > ‘pyproject.toml’, in addition to ‘requirements.txt’ and wheel ‘METADATA’ > as it already does? yes it should. It’s the next logical step after having a pyproject-build-system. The python-team branch (not sure whether Ricardo had time to merge it yet) adds a TOML parser to Guix as a first step. > It might be more complicated than we’d like: in some cases, that file > seems to be used as a “trampoline” to Poetry. For instance, in > python-pypugjs, the ‘requires’ bit delegates everything to Poetry: The file is always a trampoline to other build systems, like setuptools or poetry. That’s (unfortunately) by design, see the [build-system] section. > [tool.poetry.dependencies] > python = "^3.8" > Jinja2 = "^3.1.1" > Mako = "^1.1.3" > tornado = "^6.0.4" > six = "^1.15.0" > coverage = "^6.3.2" > nose = "^1.3.7" > Flask = "^2.1.1" > charset-normalizer = "^2.1.0" > flake8 = "^4.0.1" That’s unfortunate, because the specification includes a common field for dependencies: https://packaging.python.org/en/latest/specifications/pyproject-toml/#dependencies-optional-dependencies I guess we’ll have to deal with these idiosyncracies as well :( Lars From unknown Thu Aug 14 22:20:39 2025 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 28 Mar 2024 18:11:02 +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: Tanguy LE CARROUR Cc: Sharlatan Hellseher , Munyoki Kilyungi , Lars-Dominik Braun , jgart , Marius Bakke , 69997@debbugs.gnu.org Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.17116494088381 (code B ref 69997); Thu, 28 Mar 2024 18:11:02 +0000 Received: (at 69997) by debbugs.gnu.org; 28 Mar 2024 18:10:08 +0000 Received: from localhost ([127.0.0.1]:41109 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rpuCW-0002B7-86 for submit@debbugs.gnu.org; Thu, 28 Mar 2024 14:10:08 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:33500) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rpuCS-0002AQ-9z for 69997@debbugs.gnu.org; Thu, 28 Mar 2024 14:10:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version:content-transfer-encoding; bh=3/SNHcMnJx6C4m1IYiJq8pZK5SRZQHCUdk9jF7Qc1R4=; b=Vw4r3Ww/46uk52XZDapp8utiSx1RDOC4jnQaQQO4DvQnugNKJuVZnepb D/DWO5gIZWtHXOcj7kxMbwyH88+zQfNaYFlKE4q0mRBrLMCTaCE3FE9Gc qus27BE9aY6iTZihFlSa9F+lVP8RtXCCnqSUtj3ZtHCZFm07nPskCSXHb U=; Authentication-Results: mail3-relais-sop.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=ludovic.courtes@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.07,162,1708383600"; d="scan'208";a="83372674" Received: from unknown (HELO ribbon) ([89.207.171.88]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Mar 2024 19:09:51 +0100 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= In-Reply-To: <171147212395.13452.3553266600176809571@bioneland.org> (Tanguy LE CARROUR's message of "Tue, 26 Mar 2024 17:55:23 +0100") References: <877chqtvsk.fsf@inria.fr> <171143965734.4362.8405481724513962855@bioneland.org> <87o7b1ou6z.fsf@inria.fr> <171147212395.13452.3553266600176809571@bioneland.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Nonidi 9 Germinal an 232 de la =?UTF-8?Q?R=C3=A9volution,?= jour de l'Aulne X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 28 Mar 2024 19:09:49 +0100 Message-ID: <87msqikz2q.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Tanguy LE CARROUR skribis: > Quoting Ludovic Court=C3=A8s (2024-03-26 17:04:52) [...] >> But then I mean, we could offer, say, =E2=80=98guix import upstream http= s://=E2=80=A6=E2=80=99, >> and that thing could parse =E2=80=98setup.py=E2=80=99 or similar to prod= uce a package >> definition from that. > > I=E2=80=99m not against a good-old-generic-solution=C2=AE, but this one m= ight be > a bit=E2=80=A6 too generic. It contains no mention to Python, so the next= logical step > would be `guix import URL`. Not that I would not like it, though! =F0=9F= =98=81 Well, this has been on my mind for a long time. Such a tool could provide at least a useful package skeleton even for software using CMake or Autotools. > So I would say=E2=80=A6 let=E2=80=99s wait and see what the others think.= In the > meantime, I=E2=80=99ll have to dive deeper in the PEP and the actual impo= rter > code. Looks like consensus among you Pythonistas has yet to be reached regarding whether =E2=80=98pyproject.toml=E2=80=99 data would be a useful a= ddition. :-) We=E2=80=99ll see! Ludo=E2=80=99. PS: I hear more and more long-time Python developers dismayed by the sad state of packaging and code evolution in Python. In Guile land, we say: refugees welcome! Come discover a great language and a great community (together with their own set of problems). From unknown Thu Aug 14 22:20:39 2025 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: Fri, 29 Mar 2024 07:47:01 +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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Sharlatan Hellseher , Munyoki Kilyungi , Lars-Dominik Braun , jgart , Marius Bakke , 69997@debbugs.gnu.org Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.171169837823590 (code B ref 69997); Fri, 29 Mar 2024 07:47:01 +0000 Received: (at 69997) by debbugs.gnu.org; 29 Mar 2024 07:46:18 +0000 Received: from localhost ([127.0.0.1]:41631 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rq6wL-00068P-EC for submit@debbugs.gnu.org; Fri, 29 Mar 2024 03:46:17 -0400 Received: from smtp-42ac.mail.infomaniak.ch ([2001:1600:4:17::42ac]:48461) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rq6wF-00067S-HR for 69997@debbugs.gnu.org; Fri, 29 Mar 2024 03:46:15 -0400 Received: from smtp-4-0000.mail.infomaniak.ch (smtp-4-0000.mail.infomaniak.ch [10.7.10.107]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4V5XXB3zLvz10W; Fri, 29 Mar 2024 08:46:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bioneland.org; s=20230804; t=1711698362; bh=tatndpR9/wyY+TEitbH/WhSOPgG3ty5d0qeNo/RSDn8=; h=References:Subject:From:Cc:To:In-Reply-To:Date:From; b=nk34G+FotTi9jfiV3t4BQUmuO5TVNgKFg4vrQ+XAIhs4Fuh8LMM+OOHR9Ho/TH6lT t898fcaSpeCqhJ7DbC4XZ4tbHtkcEBpMfEtluBzHYJR1yy/qwz+FBCoPyEkTKApWf7 idB7sac40XZcWBY8j7b7J1zpO/Xw5xmzwota7TAedoCCktpDd/urYcQYm5j0X3+Q/i 8Xb+y7IUtKBR2R2NCTYW5WYqXgHroCOlOv133OROAS+UuekF+hxzVgQZCDeugGtAJy kvo92gK5ClXdxl055E7ZmmZLPSkObbj2GOjgwtdQ7El0ojDaaJDkh/6xm1FLga758c R/9vKEtANf4kg== Received: from unknown by smtp-4-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4V5XX96Jk6zTt; Fri, 29 Mar 2024 08:46:01 +0100 (CET) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable References: <877chqtvsk.fsf@inria.fr> <171143965734.4362.8405481724513962855@bioneland.org> <87o7b1ou6z.fsf@inria.fr> <171147212395.13452.3553266600176809571@bioneland.org> <87msqikz2q.fsf@inria.fr> From: Tanguy LE CARROUR In-Reply-To: <87msqikz2q.fsf@inria.fr> Date: Fri, 29 Mar 2024 08:46:01 +0100 Message-ID: <171169836168.1828.14021738276113751443@bioneland.org> User-Agent: alot/0.10 X-Infomaniak-Routing: alpha X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ludo=E2=80=99, Quoting Ludovic Court=C3=A8s (2024-03-28 19:09:49) > Tanguy LE CARROUR skribis: >=20 > > Quoting Ludovic Court=C3=A8s (2024-03-26 17:04:52) >=20 > [...] >=20 > >> But then I mean, we could offer, say, =E2=80=98guix import upstream ht= tps://=E2=80=A6=E2=80=99, > >> and that thing could parse =E2=80=98setup.py=E2=80=99 or similar to pr= oduce a package > >> definition from that. > > > > I=E2=80=99m not against a good-old-generic-solution=C2=AE, but this one= might be > > a bit=E2=80=A6 too generic. It contains no mention to Python, so the ne= xt logical step > > would be `guix import URL`. Not that I would not like it, though! =F0= =9F=98=81 >=20 > Well, this has been on my mind for a long time. Such a tool could > provide at least a useful package skeleton even for software using CMake > or Autotools. >=20 > > So I would say=E2=80=A6 let=E2=80=99s wait and see what the others thin= k. In the > > meantime, I=E2=80=99ll have to dive deeper in the PEP and the actual im= porter > > code. >=20 > Looks like consensus among you Pythonistas has yet to be reached > regarding whether =E2=80=98pyproject.toml=E2=80=99 data would be a useful= addition. :-) I have to admit that the Zen of Python [1] "There should be one-- and prefe= rably only one -- obvious way to do it." has been recently difficult to follow packaging-wise! [1]: https://peps.python.org/pep-0020 Even Poetry, the one I=E2=80=99ve been using for years, as made questionable decisions [2] and I have to admit that I had a look at the competitors. [2]: https://python-poetry.org/docs/faq/#why-does-poetry-not-adhere-to-sema= ntic-versioning > PS: I hear more and more long-time Python developers dismayed by the sad > state of packaging and code evolution in Python. In Guile land, we > say: refugees welcome! Come discover a great language and a great > community (together with their own set of problems). Thanks for the kind invitation, but=E2=80=A6 I have an acute form of parens= -itis. Seeing more that a pair of parenthesis on a single line make my eyes bleed!= =F0=9F=98=85 And=E2=80=A6 `#` is for comments, every other use is complete heresy and th= ose who go against the creed should suffer! =E2=80=A6 isn=E2=80=99t that what t= he parentheses are for?! =F0=9F=98=89 Any way, thanks again for caring about Python! Regards, --=20 Tanguy From unknown Thu Aug 14 22:20:39 2025 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 29 Mar 2024 09:07:01 +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: Tanguy LE CARROUR Cc: Sharlatan Hellseher , Munyoki Kilyungi , Lars-Dominik Braun , jgart , Marius Bakke , 69997@debbugs.gnu.org Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.17117032036689 (code B ref 69997); Fri, 29 Mar 2024 09:07:01 +0000 Received: (at 69997) by debbugs.gnu.org; 29 Mar 2024 09:06:43 +0000 Received: from localhost ([127.0.0.1]:41706 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rq8CA-0001jp-FI for submit@debbugs.gnu.org; Fri, 29 Mar 2024 05:06:43 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:5944) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rq8C7-0001j5-4C for 69997@debbugs.gnu.org; Fri, 29 Mar 2024 05:06:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version:content-transfer-encoding; bh=4qFbCnCrQtoVSUrbQQdZ7Sg8p3+cZIWSnxeN1Kb2gU0=; b=bNNNDsg/xR0NZHaAovXYySQaVMGy/x9tY7+YB0lnJ86qDvdCU/OfxpfH zI+cW3fefZF38vobyohIMCEwTGA7Gx6Xwidqk4B2wnghdimfc/Z6FdYuo tuYF1m3iUTfG0dvs1r/WINY+TYzgC5bWcU2XPe1Ozu/o73gze0NKUPGCB U=; Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=ludovic.courtes@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.07,164,1708383600"; d="scan'208";a="159071270" Received: from 91-160-117-201.subs.proxad.net (HELO ribbon) ([91.160.117.201]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2024 10:06:32 +0100 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= In-Reply-To: <171169836168.1828.14021738276113751443@bioneland.org> (Tanguy LE CARROUR's message of "Fri, 29 Mar 2024 08:46:01 +0100") References: <877chqtvsk.fsf@inria.fr> <171143965734.4362.8405481724513962855@bioneland.org> <87o7b1ou6z.fsf@inria.fr> <171147212395.13452.3553266600176809571@bioneland.org> <87msqikz2q.fsf@inria.fr> <171169836168.1828.14021738276113751443@bioneland.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: =?UTF-8?Q?D=C3=A9cadi?= 10 Germinal an 232 de la =?UTF-8?Q?R=C3=A9volution,?= jour du Couvoir X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 29 Mar 2024 10:06:31 +0100 Message-ID: <87wmpliezs.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Tanguy LE CARROUR skribis: >> PS: I hear more and more long-time Python developers dismayed by the sad >> state of packaging and code evolution in Python. In Guile land, we >> say: refugees welcome! Come discover a great language and a great >> community (together with their own set of problems). > > Thanks for the kind invitation, but=E2=80=A6 I have an acute form of pare= ns-itis. > Seeing more that a pair of parenthesis on a single line make my eyes blee= d! =F0=9F=98=85 > And=E2=80=A6 `#` is for comments, every other use is complete heresy and = those > who go against the creed should suffer! =E2=80=A6 isn=E2=80=99t that what= the parentheses > are for?! =F0=9F=98=89 Worry not! As part of our refugees-welcome effort, =E2=80=9Cwe=E2=80=9D hav= e put together tools and guides to help you feel at home: https://hg.sr.ht/~arnebab/wisp https://www.draketo.de/py2guile :-) Ludo=E2=80=99. From unknown Thu Aug 14 22:20:39 2025 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: Fri, 29 Mar 2024 10:12:01 +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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Sharlatan Hellseher , Munyoki Kilyungi , Lars-Dominik Braun , jgart , Marius Bakke , 69997@debbugs.gnu.org Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.171170708523712 (code B ref 69997); Fri, 29 Mar 2024 10:12:01 +0000 Received: (at 69997) by debbugs.gnu.org; 29 Mar 2024 10:11:25 +0000 Received: from localhost ([127.0.0.1]:41751 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rq9Cn-0006AO-9M for submit@debbugs.gnu.org; Fri, 29 Mar 2024 06:11:25 -0400 Received: from smtp-bc0c.mail.infomaniak.ch ([2001:1600:4:17::bc0c]:36809) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rq9Ch-0006A3-Ry for 69997@debbugs.gnu.org; Fri, 29 Mar 2024 06:11:23 -0400 Received: from smtp-3-0001.mail.infomaniak.ch (smtp-3-0001.mail.infomaniak.ch [10.4.36.108]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4V5blf4R7MzwGS; Fri, 29 Mar 2024 11:11:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bioneland.org; s=20230804; t=1711707070; bh=mowoSRWQc46cEsrJJ37GmrpTCM5qEJdoEHij/v9OMcU=; h=References:Subject:From:Cc:To:In-Reply-To:Date:From; b=L7RBRVjpQHDnCpCrRLnlRJ/aiEkXporEq9eDYmNEDeUGyBjgq128j240H5HD6FPkq 3eFfnZ0ITlD2HfJvT8XBQaWgyhrYAI3CBWG2XP59RgiAPXKnordFJS/CscB9P3fuUq YVg9gi0a05lX8QV9fFXhsYKSoOoQVNbu22ObT393mxWX0hL7S9sh36dEpsmc7KU6dW t2eICN8ly0tpYpbQQ9mStbq+dlRXhpzXfDOtjlVAKMx40gbmivyvsiN5vyuiM0vFcC TDB5HpEnSU1A0sffwljmZi+EwZC11l9ipNbxQum9JsBoBm5llle7hoMIMxI8WMW0o2 88w1K2zz0iepA== Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4V5blf0dYZzMpnPf; Fri, 29 Mar 2024 11:11:09 +0100 (CET) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable References: <877chqtvsk.fsf@inria.fr> <171143965734.4362.8405481724513962855@bioneland.org> <87o7b1ou6z.fsf@inria.fr> <171147212395.13452.3553266600176809571@bioneland.org> <87msqikz2q.fsf@inria.fr> <171169836168.1828.14021738276113751443@bioneland.org> <87wmpliezs.fsf@inria.fr> From: Tanguy LE CARROUR In-Reply-To: <87wmpliezs.fsf@inria.fr> Date: Fri, 29 Mar 2024 11:11:09 +0100 Message-ID: <171170706932.12538.2476080876569348495@bioneland.org> User-Agent: alot/0.10 X-Infomaniak-Routing: alpha X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Quoting Ludovic Court=C3=A8s (2024-03-29 10:06:31) > Tanguy LE CARROUR skribis: >=20 > >> PS: I hear more and more long-time Python developers dismayed by the s= ad > >> state of packaging and code evolution in Python. In Guile land, we > >> say: refugees welcome! Come discover a great language and a great > >> community (together with their own set of problems). > > > > Thanks for the kind invitation, but=E2=80=A6 I have an acute form of pa= rens-itis. > > Seeing more that a pair of parenthesis on a single line make my eyes bl= eed! =F0=9F=98=85 > > And=E2=80=A6 `#` is for comments, every other use is complete heresy an= d those > > who go against the creed should suffer! =E2=80=A6 isn=E2=80=99t that wh= at the parentheses > > are for?! =F0=9F=98=89 >=20 > Worry not! As part of our refugees-welcome effort, =E2=80=9Cwe=E2=80=9D h= ave put > together tools and guides to help you feel at home: >=20 > https://hg.sr.ht/~arnebab/wisp > https://www.draketo.de/py2guile =F0=9F=98=B5=E2=80=A6 =F0=9F=98=B1=E2=80=A6 =F0=9F=A4=AF! --=20 Tanguy From unknown Thu Aug 14 22:20:39 2025 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: Lars-Dominik Braun Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sun, 15 Dec 2024 16:13:01 +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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Tanguy LE CARROUR , 69997@debbugs.gnu.org, Sharlatan Hellseher Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.173427917922117 (code B ref 69997); Sun, 15 Dec 2024 16:13:01 +0000 Received: (at 69997) by debbugs.gnu.org; 15 Dec 2024 16:12:59 +0000 Received: from localhost ([127.0.0.1]:51689 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tMrEn-0005ke-Vr for submit@debbugs.gnu.org; Sun, 15 Dec 2024 11:12:59 -0500 Received: from mout-p-102.mailbox.org ([80.241.56.152]:51444) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tMrEk-0005kI-9d for 69997@debbugs.gnu.org; Sun, 15 Dec 2024 11:12:56 -0500 Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4YB7Pq1w8vz9sSH; Sun, 15 Dec 2024 17:12:15 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6xq.net; s=MBO0001; t=1734279135; h=from:from: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: in-reply-to:in-reply-to:references:references; bh=81TMEFGlcE6UvXLAjdxl+f62B7GAiObyFqB6nEKTUA8=; b=b3R/OMqabwpzT6bh4ZJB5bVSYDkxEZjH14eqlFxM6ic6M+xcrmdtjhCFP9cZSdKiETN+QM 0CWj2ENP1Z0vePSvt4cc03aRO0yuFazDZlP31/tTPICggGQgkNANfyEMRXNs2QEIIrVDv2 DeIANAq1Ue685Y0z9sHC6dFgtl4eamHcUbipZPX1/aNdGSUu50+dcoyzcuZiAwKIt2Pfsj kl/lTGmC9UJE7QPwnzDp17FFdHccAHDEP2TmgHZRaUoDEsoj3AX07qV6ul1/G4MG6kk3Pz ueJQnMC1r1sHI+tJrx6afb3ex83cA0PYcw/K5FdqLGZj92lBXGEcDTd+kaQSQw== Date: Sun, 15 Dec 2024 17:12:12 +0100 From: Lars-Dominik Braun Message-ID: References: <877chqtvsk.fsf@inria.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="kpsUVzBC96Nk7Jsm" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <877chqtvsk.fsf@inria.fr> X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --kpsUVzBC96Nk7Jsm Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Hi, > Should ‘guix import pypi’ attempt to get dependency information from > ‘pyproject.toml’, in addition to ‘requirements.txt’ and wheel ‘METADATA’ > as it already does? attached patches allow parsing the standardized pyproject.toml fields for dependencies. This won’t work for poetry (we need a different version parser for that), but it’s a start. Lars --kpsUVzBC96Nk7Jsm Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="0001-import-pypi-Support-extracting-dependencies-from-pyp.patch" >From c2e7e07ad407613233edbb7ebfcc6f0c7c0bcc25 Mon Sep 17 00:00:00 2001 Message-ID: From: Lars-Dominik Braun Date: Sun, 15 Dec 2024 13:22:00 +0100 Subject: [PATCH 1/4] import: pypi: Support extracting dependencies from pyproject.toml. * guix/import/pypi.scm (guess-requirements): Support extracting dependencies from pyproject.toml. * tests/pypi.scm: ("pypi->guix-package, no requires.txt, but wheel."): Renamed from "pypi->guix-package, wheels", remove requires.txt file, because the current implementation cannot detect invalid files. ("pypi->guix-package, no usable requirement file, no wheel."): Renamed from "pypi->guix-package, no usable requirement file.". (test-pyproject.toml): New variable. ("pypi->guix-package, no wheel, no requires.txt, but pyproject.toml"): New test. ("pypi->guix-package, no wheel, but requires.txt and pyproject.toml"): Ditto. Change-Id: Ib525750eb6ff4139a8209420042b28ae3c850764 --- guix/import/pypi.scm | 74 +++++++++++++++++++++++-------- tests/pypi.scm | 101 ++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 152 insertions(+), 23 deletions(-) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 7b9f54a200..7915d65d23 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -57,6 +57,7 @@ (define-module (guix import pypi) #:use-module (guix import utils) #:use-module (guix import json) #:use-module (json) + #:use-module (guix build toml) #:use-module (guix packages) #:use-module (guix upstream) #:use-module ((guix licenses) #:prefix license:) @@ -386,7 +387,42 @@ (define (guess-requirements source-url wheel-url archive) (if wheel-url (and (url-fetch wheel-url temp) (read-wheel-metadata temp)) - #f)))) + (list '() '()))))) + + (define (guess-requirements-from-pyproject.toml dir) + (let* ((pyproject.toml-files (find-files dir (lambda (abs-file-name _) + (string-match "/pyproject.toml$" + abs-file-name)))) + (pyproject.toml (match pyproject.toml-files + (() + (warning (G_ "Cannot guess requirements from \ +pyproject.toml file, because it does not exist.~%")) + '()) + (else (parse-toml-file (first pyproject.toml-files))))) + (pyproject-build-requirements + (or (recursive-assoc-ref pyproject.toml '("build-system" "requires")) '())) + (pyproject-dependencies + (or (recursive-assoc-ref pyproject.toml '("project" "dependencies")) '())) + ;; This is more of a convention, since optional-dependencies is a table of arbitrary values. + (pyproject-test-dependencies + (or (recursive-assoc-ref pyproject.toml '("project" "optional-dependencies" "test")) '()))) + (if (null? pyproject.toml) + #f + (list (map specification->requirement-name pyproject-dependencies) + (map specification->requirement-name + (append pyproject-build-requirements + pyproject-test-dependencies)))))) + + (define (guess-requirements-from-requires.txt dir) + (let ((requires.txt-files (find-files dir (lambda (abs-file-name _) + (string-match "\\.egg-info/requires.txt$" + abs-file-name))))) + (match requires.txt-files + (() + (warning (G_ "Cannot guess requirements from source archive: \ +no requires.txt file found.~%")) + #f) + (else (parse-requires.txt (first requires.txt-files)))))) (define (guess-requirements-from-source) ;; Return the package's requirements by guessing them from the source. @@ -398,27 +434,29 @@ (define (guess-requirements source-url wheel-url archive) (if (string=? "zip" (file-extension source-url)) (invoke "unzip" archive "-d" dir) (invoke "tar" "xf" archive "-C" dir))) - (let ((requires.txt-files - (find-files dir (lambda (abs-file-name _) - (string-match "\\.egg-info/requires.txt$" - abs-file-name))))) - (match requires.txt-files - (() - (warning (G_ "Cannot guess requirements from source archive:\ - no requires.txt file found.~%")) - (list '() '())) - (else (parse-requires.txt (first requires.txt-files))))))) + (list (guess-requirements-from-pyproject.toml dir) + (guess-requirements-from-requires.txt dir)))) (begin (warning (G_ "Unsupported archive format; \ cannot determine package dependencies from source archive: ~a~%") (basename source-url)) - (list '() '())))) - - ;; First, try to compute the requirements using the wheel, else, fallback to - ;; reading the "requires.txt" from the egg-info directory from the source - ;; archive. - (or (guess-requirements-from-wheel) - (guess-requirements-from-source))) + (list #f #f)))) + + (define (merge a b) + "Given lists A and B with two iteams each, combine A1 and B1, as well as A2 and B2." + (match (list a b) + (((first-propagated first-native) (second-propagated second-native)) + (list (append first-propagated second-propagated) (append first-native second-native))))) + + ;; requires.txt and the metadata of a wheel contain redundant information, + ;; so fetch only one of them, preferring requires.txt from the source + ;; distribution, which we always fetch, since the source tarball also + ;; contains pyproject.toml. + (match (guess-requirements-from-source) + ((from-pyproject.toml #f) + (merge (or from-pyproject.toml '(() ())) (or (guess-requirements-from-wheel) '(() ())))) + ((from-pyproject.toml from-requires.txt) + (merge (or from-pyproject.toml '(() ())) from-requires.txt)))) (define (compute-inputs source-url wheel-url archive) "Given the SOURCE-URL and WHEEL-URL of an already downloaded ARCHIVE, return diff --git a/tests/pypi.scm b/tests/pypi.scm index c9aee34d8b..fe00e429b7 100644 --- a/tests/pypi.scm +++ b/tests/pypi.scm @@ -112,6 +112,20 @@ (define test-requires.txt-beaker "\ coverage ") +(define test-pyproject.toml "\ +[build-system] +requires = [\"dummy-build-dep-a\", \"dummy-build-dep-b\"] + +[project] +dependencies = [ + \"dummy-dep-a\", + \"dummy-dep-b\", +] + +[project.optional-dependencies] +test = [\"dummy-test-dep-a\", \"dummy-test-dep-b\"] +") + (define test-metadata "\ Classifier: Programming Language :: Python :: 3.7 Requires-Dist: baz ~= 3 @@ -325,13 +339,90 @@ (define-syntax-rule (with-pypi responses body ...) (x (pk 'fail x #f)))))) +(test-assert "pypi->guix-package, no wheel, no requires.txt, but pyproject.toml" + (let ((tarball (pypi-tarball + "foo-1.0.0" + `(("pyproject.toml" ,test-pyproject.toml)))) + (twice (lambda (lst) (append lst lst)))) + (with-pypi (twice `(("/foo-1.0.0.tar.gz" 200 ,(file-dump tarball)) + ("/foo-1.0.0-py2.py3-none-any.whl" 404 "") + ("/foo/json" 200 ,(lambda (port) + (display (foo-json) port))))) + ;; Not clearing the memoization cache here would mean returning the value + ;; computed in the previous test. + (invalidate-memoization! pypi->guix-package) + (match (pypi->guix-package "foo") + (`(package + (name "python-foo") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "foo" version)) + (sha256 + (base32 ,(? string? hash))))) + (build-system pyproject-build-system) + (propagated-inputs (list python-dummy-dep-a python-dummy-dep-b)) + (native-inputs (list python-dummy-build-dep-a python-dummy-build-dep-b + python-dummy-test-dep-a python-dummy-test-dep-b)) + (home-page "http://example.com") + (synopsis "summary") + (description "summary.") + (license license:lgpl2.0)) + (and (string=? default-sha256/base32 hash) + (equal? (pypi->guix-package "foo" #:version "1.0.0") + (pypi->guix-package "foo")) + (guard (c ((error? c) #t)) + (pypi->guix-package "foo" #:version "42")))) + (x + (pk 'fail x #f)))))) + +(test-assert "pypi->guix-package, no wheel, but requires.txt and pyproject.toml" + (let ((tarball (pypi-tarball + "foo-1.0.0" + `(("foo-1.0.0/pyproject.toml" ,test-pyproject.toml) + ("foo-1.0.0/bizarre.egg-info/requires.txt" + ,test-requires.txt)))) + (twice (lambda (lst) (append lst lst)))) + (with-pypi (twice `(("/foo-1.0.0.tar.gz" 200 ,(file-dump tarball)) + ("/foo-1.0.0-py2.py3-none-any.whl" 404 "") + ("/foo/json" 200 ,(lambda (port) + (display (foo-json) port))))) + ;; Not clearing the memoization cache here would mean returning the value + ;; computed in the previous test. + (invalidate-memoization! pypi->guix-package) + (match (pypi->guix-package "foo") + (`(package + (name "python-foo") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "foo" version)) + (sha256 + (base32 ,(? string? hash))))) + (build-system pyproject-build-system) + ;; Information from requires.txt and pyproject.toml is combined. + (propagated-inputs (list python-bar python-dummy-dep-a python-dummy-dep-b + python-foo)) + (native-inputs (list python-dummy-build-dep-a python-dummy-build-dep-b + python-dummy-test-dep-a python-dummy-test-dep-b + python-pytest)) + (home-page "http://example.com") + (synopsis "summary") + (description "summary.") + (license license:lgpl2.0)) + (and (string=? default-sha256/base32 hash) + (equal? (pypi->guix-package "foo" #:version "1.0.0") + (pypi->guix-package "foo")) + (guard (c ((error? c) #t)) + (pypi->guix-package "foo" #:version "42")))) + (x + (pk 'fail x #f)))))) + (test-skip (if (which "zip") 0 1)) -(test-assert "pypi->guix-package, wheels" +(test-assert "pypi->guix-package, no requires.txt, but wheel." (let ((tarball (pypi-tarball "foo-1.0.0" - '(("foo-1.0.0/foo.egg-info/requires.txt" - "wrong data \ -to make sure we're testing wheels")))) + '(("foo-1.0.0/foo.egg-info/.empty" "")))) (wheel (wheel-file "foo-1.0.0" `(("METADATA" ,test-metadata))))) (with-pypi `(("/foo-1.0.0.tar.gz" 200 ,(file-dump tarball)) @@ -362,7 +453,7 @@ (define-syntax-rule (with-pypi responses body ...) (x (pk 'fail x #f)))))) -(test-assert "pypi->guix-package, no usable requirement file." +(test-assert "pypi->guix-package, no usable requirement file, no wheel." (let ((tarball (pypi-tarball "foo-1.0.0" '(("foo.egg-info/.empty" ""))))) (with-pypi `(("/foo-1.0.0.tar.gz" 200 ,(file-dump tarball)) base-commit: cfd4f56f75a20b6732d463180d211f796c9032e5 -- 2.45.2 --kpsUVzBC96Nk7Jsm Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="0002-import-pypi-Add-python-wheel-to-native-inputs-if-set.patch" >From 0abdb392bf10a99291114fc7e162a3845f25c696 Mon Sep 17 00:00:00 2001 Message-ID: <0abdb392bf10a99291114fc7e162a3845f25c696.1734278914.git.lars@6xq.net> In-Reply-To: References: From: Lars-Dominik Braun Date: Sun, 15 Dec 2024 13:30:59 +0100 Subject: [PATCH 2/4] import: pypi: Add python-wheel to native inputs if setuptools is used. * guix/import/pypi.scm (compute-inputs): Add missing python-wheel if necessary. Change-Id: Iedad213a6684856e48349289c4d9beba953f396b --- guix/import/pypi.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 7915d65d23..52ec6e4ee6 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -470,12 +470,18 @@ (define (compute-inputs source-url wheel-url archive) (type type)))) (sort deps string-ci. (let ((dependencies (guess-requirements source-url wheel-url archive))) (match dependencies ((propagated native) (append (requirements->upstream-inputs propagated 'propagated) - (requirements->upstream-inputs native 'native)))))) + (requirements->upstream-inputs (add-missing-native-inputs native) 'native)))))) (define* (pypi-package-inputs pypi-package #:optional version) "Return the list of for PYPI-PACKAGE. This procedure -- 2.45.2 --kpsUVzBC96Nk7Jsm Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0003-import-pypi-Default-to-setuptools-as-build-system-in.patch" Content-Transfer-Encoding: 8bit >From 0c9708bf7b387f2100cdf375353982fbca9b364e Mon Sep 17 00:00:00 2001 Message-ID: <0c9708bf7b387f2100cdf375353982fbca9b364e.1734278914.git.lars@6xq.net> In-Reply-To: References: From: Lars-Dominik Braun Date: Sun, 15 Dec 2024 16:56:53 +0100 Subject: [PATCH 3/4] import: pypi: Default to setuptools as build system input. * guix/import/pypi.scm (guess-requirements): Default to setuptools if pyproject.toml does not exist. Change-Id: I600bd0a44342847878e3a2a7041bd7e7c7d30769 --- guix/import/pypi.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 52ec6e4ee6..bba7361307 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -448,15 +448,21 @@ (define (guess-requirements source-url wheel-url archive) (((first-propagated first-native) (second-propagated second-native)) (list (append first-propagated second-propagated) (append first-native second-native))))) + (define default-pyproject.toml-dependencies + ;; If there is no pyproject.toml, we assume it’s an old-style setuptools-based project. + '(() ("setuptools"))) + ;; requires.txt and the metadata of a wheel contain redundant information, ;; so fetch only one of them, preferring requires.txt from the source ;; distribution, which we always fetch, since the source tarball also ;; contains pyproject.toml. (match (guess-requirements-from-source) ((from-pyproject.toml #f) - (merge (or from-pyproject.toml '(() ())) (or (guess-requirements-from-wheel) '(() ())))) + (merge (or from-pyproject.toml default-pyproject.toml-dependencies) + (or (guess-requirements-from-wheel) '(() ())))) ((from-pyproject.toml from-requires.txt) - (merge (or from-pyproject.toml '(() ())) from-requires.txt)))) + (merge (or from-pyproject.toml default-pyproject.toml-dependencies) + from-requires.txt)))) (define (compute-inputs source-url wheel-url archive) "Given the SOURCE-URL and WHEEL-URL of an already downloaded ARCHIVE, return -- 2.45.2 --kpsUVzBC96Nk7Jsm Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="0004-import-pypi-Move-deduplication-to-final-processing-s.patch" >From 8ab434690c870deb95bfbf61adc60a6a38d084bb Mon Sep 17 00:00:00 2001 Message-ID: <8ab434690c870deb95bfbf61adc60a6a38d084bb.1734278914.git.lars@6xq.net> In-Reply-To: References: From: Lars-Dominik Braun Date: Sun, 15 Dec 2024 17:02:44 +0100 Subject: [PATCH 4/4] import: pypi: Move deduplication to final processing step. * guix/import/pypi.scm (parse-requires.txt): Remove deduplication. (parse-wheel-metadata): Remove deduplication. (compute-inputs): Instead do it here on all the collected inputs. Change-Id: I2504cc693e9bf2e4cc44fd37b5823904dbaaa925 --- guix/import/pypi.scm | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index bba7361307..530b7d6879 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -283,12 +283,7 @@ (define (parse-requires.txt requires.txt) (let ((line (read-line port))) (cond ((eof-object? line) - ;; Duplicates can occur, since the same requirement can be - ;; listed multiple times with different conditional markers, e.g. - ;; pytest >= 3 ; python_version >= "3.3" - ;; pytest < 3 ; python_version < "3.3" - (map (compose reverse delete-duplicates) - (list required-deps test-deps))) + (list required-deps test-deps)) ((or (string-null? line) (comment? line)) (loop required-deps test-deps inside-test-section? optional?)) ((section-header? line) @@ -342,8 +337,7 @@ (define (parse-wheel-metadata metadata) (let ((line (read-line port))) (cond ((eof-object? line) - (map (compose reverse delete-duplicates) - (list required-deps test-deps))) + (list required-deps test-deps)) ((and (requires-dist-header? line) (not (extra? line))) (loop (cons (specification->requirement-name (requires-dist-value line)) @@ -486,8 +480,10 @@ (define (compute-inputs source-url wheel-url archive) (let ((dependencies (guess-requirements source-url wheel-url archive))) (match dependencies ((propagated native) - (append (requirements->upstream-inputs propagated 'propagated) - (requirements->upstream-inputs (add-missing-native-inputs native) 'native)))))) + (append (requirements->upstream-inputs (delete-duplicates propagated) + 'propagated) + (requirements->upstream-inputs (delete-duplicates (add-missing-native-inputs native)) + 'native)))))) (define* (pypi-package-inputs pypi-package #:optional version) "Return the list of for PYPI-PACKAGE. This procedure -- 2.45.2 --kpsUVzBC96Nk7Jsm-- From unknown Thu Aug 14 22:20:39 2025 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? References: <877chqtvsk.fsf@inria.fr> In-Reply-To: <877chqtvsk.fsf@inria.fr> Resent-From: Sharlatan Hellseher Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 16 Dec 2024 01:32:02 +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 Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Lars-Dominik Braun Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.173431270829265 (code B ref 69997); Mon, 16 Dec 2024 01:32:02 +0000 Received: (at 69997) by debbugs.gnu.org; 16 Dec 2024 01:31:48 +0000 Received: from localhost ([127.0.0.1]:52794 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tMzxb-0007bx-Pl for submit@debbugs.gnu.org; Sun, 15 Dec 2024 20:31:48 -0500 Received: from mail-lj1-f173.google.com ([209.85.208.173]:59864) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tMzxW-0007bh-Eu for 69997@debbugs.gnu.org; Sun, 15 Dec 2024 20:31:45 -0500 Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-303548a933aso4329061fa.3 for <69997@debbugs.gnu.org>; Sun, 15 Dec 2024 17:31:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734312641; x=1734917441; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=rS+qcV6J7xa+faYtjg755crw7+iUSXSPtHt3y7XVbkI=; b=h0KnKfZPec6UvBQZuDvrryqLEx0heFa2fpvWv5mhr5Qz8ssC/JTI7RLLvdPh4F/LDu ytmRlMBmeYJLtc/I7Rey1ZdDRt8gQvuAZ5A4m8NO/VLnz7LThqQm7hPuLpyQE/GxVqoJ EW+ugzvZTO6eUmdefumQHUP67gMzew7pkPiMES55ohGkFcB3VfVHCaE3hxZ8eiFpZg5x 3KmoNk2qK1RIGFPpgcXGmt94UpYykzG2RRpXMamoj8EV0HZrEh4B1zGxaVzlJjUIWMyC EdAZCxMdiiEdJd79DOACnZTH429CWpikoTBYxAJ9v2ZXCcurU8/v945XpfbH9ky5mgj2 QRqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734312641; x=1734917441; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=rS+qcV6J7xa+faYtjg755crw7+iUSXSPtHt3y7XVbkI=; b=eyZoBEA3SO4PyGSim7GUV0KXt6auvsjMrZIzBtjQqO87iyBvIYC7ZqXNCXvN0WkKFE kabFOvzQDk5JCqGvpnV1FG9bC4IFjIjLtjLroG3r3UEBOH6hf9upstC3IDUkjAcGqTBM HjfF1o3vKe7y17Dz5sNnpQ3yfaqkofbcJasLHFvdYuiqFhOKhIMtPT8zoboVMGsR7hfA Vfpzau3JyUTO9///gNsYdpnpDZdp3oxY55u7kvQsX2hhaYzqNgQk+HaoFspNRzZThohp GNxiDxERQ/7RzalL7wesqLRtW6dc8FQBc80Fhqf6r7s1DI6v/JS+OHTTpYb5VB1rTKtg HYXg== X-Gm-Message-State: AOJu0YzBORs0qJGimfdqEwpRNzcRtAL4VpLgCjcFLEsC2Vl1H0s/hSQe tEMU9P5vEmIuiJKC8zpwD2p06MaYzl1EpKiu3NQmcECCEn9up92zX9yNJ23BubzzvQ3b7Jcrglt 0SnPGYNFAfzw1UzN6AxCv7Z3OCGtzyMi4 X-Gm-Gg: ASbGnctzXbqUxHLQ39/8VwnWy6agfhwHIWHwRTm0dNFQlzOOz6IvbSN9Zy2zooEQDfw AH5poGsKXbFcbPVT9T79CbVfq895CbLhOJx5E X-Google-Smtp-Source: AGHT+IGm7swlrFo5bKpy7UrIYCuhCdUIVpJZ+7lmnoFWH9VPNvJkTItkJk6oBKMp8giHjqQeQFXlYl6h/DVIiqSsH2U= X-Received: by 2002:a05:651c:210d:b0:2fb:4b0d:9092 with SMTP id 38308e7fff4ca-302545669ddmr38070921fa.1.1734312641412; Sun, 15 Dec 2024 17:30:41 -0800 (PST) MIME-Version: 1.0 From: Sharlatan Hellseher Date: Mon, 16 Dec 2024 01:30:31 +0000 Message-ID: Content-Type: multipart/alternative; boundary="000000000000ebc80e0629592042" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000ebc80e0629592042 Content-Type: text/plain; charset="UTF-8" Hi, As it's pypi importer which improving refresh as well, may it be pushed to master or we need it on team branch first? Thanks, Oleg --000000000000ebc80e0629592042 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

As it= 9;s pypi importer which improving refresh as well, may=C2=A0
it be pushed to master or we need it on team branch first?
<= div dir=3D"auto">
Thanks,
Oleg
--000000000000ebc80e0629592042-- From unknown Thu Aug 14 22:20:39 2025 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 16 Dec 2024 09:01:02 +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: Lars-Dominik Braun Cc: Tanguy LE CARROUR , 69997@debbugs.gnu.org, Sharlatan Hellseher Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.173433961416444 (code B ref 69997); Mon, 16 Dec 2024 09:01:02 +0000 Received: (at 69997) by debbugs.gnu.org; 16 Dec 2024 09:00:14 +0000 Received: from localhost ([127.0.0.1]:53453 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tN6xX-0004Gm-ID for submit@debbugs.gnu.org; Mon, 16 Dec 2024 04:00:13 -0500 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:16981) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tN6xT-0004BS-JM for 69997@debbugs.gnu.org; Mon, 16 Dec 2024 04:00:09 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version:content-transfer-encoding; bh=XoTU14Oq1CK3NTkujQzsv9q7WFGlf/exmLaz7lVOXmo=; b=GjGM2MdYgl7na0arLY51zye0Gx7OubkD+72p+ub78aVXDbnDzdz4VXab eejuW0R9TIJt7RzfvFOU3RgbJOKH9ph2ZCWTx5L6LKLhb4fm98Ocwp0Kx hOTzmLyiJgdV4TMlms96KtX7GVb5ZPySOuS5BeZoVfL4ti3HC5WoJ8xqJ A=; Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=ludovic.courtes@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.12,238,1728943200"; d="scan'208";a="199321325" Received: from unknown (HELO ribbon) ([193.50.110.52]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2024 10:00:01 +0100 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= In-Reply-To: (Lars-Dominik Braun's message of "Sun, 15 Dec 2024 17:12:12 +0100") References: <877chqtvsk.fsf@inria.fr> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Sextidi 26 Frimaire an 233 de la =?UTF-8?Q?R=C3=A9volution,?= jour du Pignon X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 16 Dec 2024 10:00:00 +0100 Message-ID: <871py8f1f3.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello, Lars-Dominik Braun skribis: > attached patches allow parsing the standardized pyproject.toml fields > for dependencies. This won=E2=80=99t work for poetry (we need a different > version parser for that), but it=E2=80=99s a start. Excellent! The code LGTM (I can=E2=80=99t really tell about the Python sid= e of things). > + (list (guess-requirements-from-pyproject.toml dir) > + (guess-requirements-from-requires.txt dir)))) It looks like we still take info from =E2=80=98requirements.txt=E2=80=99; is =E2=80=98pyproject.toml=E2=80=99 insufficient? Anyhow, if others on the Python team approve, I guess you can go ahead and push it. Thanks, Ludo=E2=80=99. From unknown Thu Aug 14 22:20:39 2025 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: Sharlatan Hellseher Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 16 Dec 2024 10:29:02 +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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Tanguy LE CARROUR , 69997@debbugs.gnu.org, Lars-Dominik Braun Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.17343448821234 (code B ref 69997); Mon, 16 Dec 2024 10:29:02 +0000 Received: (at 69997) by debbugs.gnu.org; 16 Dec 2024 10:28:02 +0000 Received: from localhost ([127.0.0.1]:53708 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tN8KY-0000Jp-4j for submit@debbugs.gnu.org; Mon, 16 Dec 2024 05:28:02 -0500 Received: from mail-lf1-f51.google.com ([209.85.167.51]:52478) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tN8KW-0000JJ-Fm for 69997@debbugs.gnu.org; Mon, 16 Dec 2024 05:28:01 -0500 Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-53df6322ea7so5488830e87.0 for <69997@debbugs.gnu.org>; Mon, 16 Dec 2024 02:28:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734344814; x=1734949614; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=AfxCwBzIjcymJandy2i0V98jRtNJJebJWTn4hyJszXI=; b=IIhReUeBLtnz04APnsWQyEpHFKjAqgd/17BXb2Psm0qWFbUBy+m88y0ujmKSYiihC2 NbdfyyTCOy/hl8FGUDmD/FhwyvoNzTT5MSZvPww1FfX2EHx6tkYD4MVUQABKDGlZqKNN nNcMgXIzKuvQA4TkG2hLlr1cmHjtUQmunH4whh8608cqki5+IWJ7LpNGC5wEgU3sIFbS XgXPedsENqgr7agixn29X75PTVZEDW9nQXdBziCcIxOdKEZiSLgRlfn/0d/limRJIFhx vomotDo3qAESf/BQgF/JBlIHlXSqBotnTI1nmgoSFK7Jq2D+nmC0Tm6gb3d/cthApuLD A31A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734344814; x=1734949614; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AfxCwBzIjcymJandy2i0V98jRtNJJebJWTn4hyJszXI=; b=XiQ/mEObExtIoNtuE/7HvqUiujIP8tALLPUPLg9LBWtxx0VLqRlFJ3wtQ3Q4IMxp1r Qi4UDwMjbwwjKriuO87r+g40VHIuEbRdf1IJTcJ0SJdw7WAuc23LjjyAG9yx6R9mcpmu RTS3dk0v2TpXqRytpGLj88AToJwwOCCovJw7LVJs5mcp/S5sM77xMwdDY1zKQi4rBfOi V6psv6cBnwpu1mAfmkdGmtOjd/olZWUCz1KycNb7+9K2Lhs4P5PYC7vr7d8VaI0AKt6Z NUkQWsuJu64D1USZJVxMoJDTEQD7sPcKsDLxB+oZI0Wk7ul7eajtpGIqT3E2yClL2pkN qERw== X-Forwarded-Encrypted: i=1; AJvYcCWlvgddxm5PZdWLw0vGPMMkC780AEqvIhs9EW+GRbKnN2UEIHDk3RtKrBk0DeU2CJV84ruCwQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxYn6WQJOlUmcBDFvJqeJantQKeGEewelb7005gOpDSRK19JUh9 dj9Gq/eramwmgzslDKOKILpzEzmaUSOI72acCo5fztTGVgw4JTXxb68Tu06I5dUnJX5g2Dlwmkf vt8GATnexs2lx3s6RU1kkxDBfZb0= X-Gm-Gg: ASbGncs2AHj7sNxXCU2gkV1sHfz2i8DJ+wYkJP2xY1aJ/X4WZpJm+t54wDenjDuMtU1 3r7OnVlhd4QknhJIKPyweFQo2mWvkbZ7VsKhE X-Google-Smtp-Source: AGHT+IETMgP6nl2qwGKeviymXMNeINy/Xvx8kbXQu/e5SWwSXrlIi7AlUMGNfVg+9oB3XpzmzwUK6jnbSab1/EDHgog= X-Received: by 2002:a05:6512:281b:b0:540:2d64:4ef4 with SMTP id 2adb3069b0e04-540857f1dd9mr3270034e87.0.1734344814158; Mon, 16 Dec 2024 02:26:54 -0800 (PST) MIME-Version: 1.0 References: <877chqtvsk.fsf@inria.fr> <871py8f1f3.fsf@inria.fr> In-Reply-To: <871py8f1f3.fsf@inria.fr> From: Sharlatan Hellseher Date: Mon, 16 Dec 2024 10:26:42 +0000 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ludovic, > It looks like we still take info from =E2=80=98requirements.txt=E2=80=99;= is Python packaging ecosystem is not standradisied like in Julia somteimes you may see all at once setup.cfg, setup.py, pyproject.toml, requirements*.txt (covering in separate files dev/install deps), Poetry changed the game as it become popular but it does not follow PEP in pyproject.toml and just created it's own config field in it not copatible with pip. This patch would help to refresh easely most of the astronomy packages as they are on pyproject.toml and failed to be refresh with guix refresh CLI. Lars, do you have a commit access? > Anyhow, if others on the Python team approve, I guess you can go ahead and push it. I vote for merge as well Thanks, Oleg From unknown Thu Aug 14 22:20:39 2025 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? References: <877chqtvsk.fsf@inria.fr> Resent-From: Lars-Dominik Braun Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 16 Dec 2024 18:43:02 +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: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Sharlatan Hellseher Cc: 69997@debbugs.gnu.org, Tanguy LE CARROUR Received: via spool by 69997-submit@debbugs.gnu.org id=B69997.17343745638208 (code B ref 69997); Mon, 16 Dec 2024 18:43:02 +0000 Received: (at 69997) by debbugs.gnu.org; 16 Dec 2024 18:42:43 +0000 Received: from localhost ([127.0.0.1]:56156 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tNG3H-00028K-Ar for submit@debbugs.gnu.org; Mon, 16 Dec 2024 13:42:43 -0500 Received: from mout-p-202.mailbox.org ([80.241.56.172]:52660) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tNG3E-000280-OU for 69997@debbugs.gnu.org; Mon, 16 Dec 2024 13:42:42 -0500 Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4YBphm1wnlz9sdB; Mon, 16 Dec 2024 19:42:32 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6xq.net; s=MBO0001; t=1734374552; h=from:from: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: in-reply-to:in-reply-to; bh=ngjpW3vrbq3+MWosnn6dJ6izN6cYHHddrGWSHAnnON4=; b=PQRVRJ9HtrMdeU/eDxLKTznpxesxNzy/RTROQnt5cHOwPG802fONckI6oOS4443hAGRW83 JzevgrwIqeOq72/wYJF1uylz5ZYof8kvYHwg+lgkdCtHLH++maWo42WRpBnOtFDAGuAGdG rKLwQj5AZYMKUGwppV2Liy63rjev2HV9eol75G9tUf/T9XayTTMLyN4XCh5Y5LREMUeE9e YvmyDOg7cXYNVPhz3gVOHFZ2hLKA6201NOrdqrnk/Ahj+O7L24xXG22T432xQGF7/Y138V 7K+R8cMkdSZvythXNzYtmjV3/zE/skTtLT8BwmK6pDBH7sHHglVQKWwl9Dyqwg== Date: Mon, 16 Dec 2024 19:42:29 +0100 From: Lars-Dominik Braun Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <871py8f1f3.fsf@inria.fr> X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, > It looks like we still take info from ‘requirements.txt’; is > ‘pyproject.toml’ insufficient? correct. As a first quality of life improvement I would keep the other information sources, but as we improve the importer further (by adding poetry support for example), we need to fall back on them less often I hope. > Lars, do you have a commit access? I have, but please go ahead and merge it into master. My available time slots to work on Guix are quite limited, so merging my patches – even though I have commit access – speeds things up. Lars From unknown Thu Aug 14 22:20:39 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#69997: closed (Should =?UTF-8?Q?=C3=A2=C2=80=C2=98guix?= import =?UTF-8?Q?pypi=C3=A2=C2=80=C2=99?= get dependencies from pyproject files?) Message-ID: References: <87zfkvv32o.fsf@gmail.com> <877chqtvsk.fsf@inria.fr> X-Gnu-PR-Message: they-closed 69997 X-Gnu-PR-Package: guix Reply-To: 69997@debbugs.gnu.org Date: Mon, 16 Dec 2024 19:31:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1734377462-18534-1" This is a multi-part message in MIME format... ------------=_1734377462-18534-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #69997: Should =E2=80=98guix import pypi=E2=80=99 get dependencies from pyp= roject files? which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 69997@debbugs.gnu.org. --=20 69997: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D69997 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1734377462-18534-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 69997-done) by debbugs.gnu.org; 16 Dec 2024 19:30:56 +0000 Received: from localhost ([127.0.0.1]:56286 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tNGnv-0004oa-Mx for submit@debbugs.gnu.org; Mon, 16 Dec 2024 14:30:55 -0500 Received: from mail-wm1-f44.google.com ([209.85.128.44]:48582) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tNGnt-0004oQ-Tx for 69997-done@debbugs.gnu.org; Mon, 16 Dec 2024 14:30:54 -0500 Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-434e3953b65so31386395e9.1 for <69997-done@debbugs.gnu.org>; Mon, 16 Dec 2024 11:30:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734377393; x=1734982193; darn=debbugs.gnu.org; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=aIX8LQB7l5zpOHqyZe1D4se2b6h+bkE556r0xoROgXM=; b=CTsvbRnDMCtWxbSSeBiqoAXisKm82IbIsA/BoGSIuAQUuXwVgTtbUnVaax77E3wKA0 WJd49B11UpCwXdlmWu6CSeU3kOmYglE3oJV2n0FGDumTBYNTm9S1EoAjFJCvuzyfC3Q0 hLiAvQyWcDxAI+++SOukOylj2eVtkrzz8sEZH5jnsgw+7jPu6aHj62+kGFJPhBU8I+8Y /ZnKMGu5UgqXE53aYfhuIxAphmlKmt92NNymaCI4A9fQPTHuATd9zaSddS1o8WQSo29M b36JSd8fgC7OnWK3KklyxpZzQUgaETP3UAOoKLaZCxQc5+034q8lT1iKyXVlSL7aPK1K GGKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734377393; x=1734982193; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=aIX8LQB7l5zpOHqyZe1D4se2b6h+bkE556r0xoROgXM=; b=UWtfOAG8Lx+ptXMxmovYL187fl05waj8zxMzXm3VE1z/6uooAgaOiWiDVTAJBIfquO Vj3325xfsPrysJ44k+j8QxHXUWiiH9k83vHYaMVKgZWMYDEh0zBHrX3gC8hGjSEK9JKr nPt1rIN1Gs22AXNmFjtoph4ObE0pGM9XBLm60t+2MoCazBv+XhVKp3Hq1x9AjaeKcq2J 8/3ubqgE9rtYo3ju+Ago9nJJGTKImEiNILPn44HCpSL3HjPAMcNZ6L4SLAZTftprRrRY mi1QOZc9ntniY5FWSxm0bNr1qvC0ZbsbBitVCZ76rXNze+xD4s8A76kMnqMehR7G+syy OJ2A== X-Gm-Message-State: AOJu0YxRvYnKWmi5lcqfWR7Wqhq2sKe3Uq/31drLXFkgO537R9Sh4AHE ltRd4krOAXLr0tXz/E8uxpW8iuVJnXW/B+XzuPn88fI+F8WNkcEiYXXpHfC7 X-Gm-Gg: ASbGncuQDpIdm8XW23gt6VfM6osqI6MoSKgOXQqNtGlKw3KTPTnEiYyzypP4nTLEJdC 9KnksOUeXpKz+dMZaAl2M4x1VyRs1ld7X6+l0cj5dNlz4J0fsIQAw8gEHrzXN9X0fBgU7CZoSV2 6FY/H9Vub/081LjBKzhPBmBNNyMl+AuEFFyJHbqDosZ7bnuHMXaxh2W7lHuwWKSEwRctvm42lQA tj/qokuIDEU86+77CsWEmkhNzrjP9fUDi/kSpXXkC5NWrw96osPY0NdEbODkZ0DC0s3OQsS+O11 ItcjKLv5vQDhvZxfET+ixMZDSaZTCIZm X-Google-Smtp-Source: AGHT+IFtXngRaAMLrKDAKgo0vxAKpBB9z6hOPpY8KzgrSXR68YFQQw1qCQOniCM8AUp/d2YiCsZNkA== X-Received: by 2002:a05:600c:3b02:b0:431:60ec:7a96 with SMTP id 5b1f17b1804b1-4362aa944ffmr110718495e9.25.1734377392979; Mon, 16 Dec 2024 11:29:52 -0800 (PST) Received: from guxtil (cpc100684-bagu15-2-0-cust967.1-3.cable.virginm.net. [86.8.111.200]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4362557c57dsm148012035e9.12.2024.12.16.11.29.52 for <69997-done@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2024 11:29:52 -0800 (PST) From: Sharlatan Hellseher To: 69997-done@debbugs.gnu.org Subject: Should =?utf-8?B?w6LCgMKYZ3VpeA==?= import =?utf-8?B?cHlwacOiwoA=?= =?utf-8?B?wpk=?= get dependencies from pyproject files? Date: Mon, 16 Dec 2024 19:29:51 +0000 Message-ID: <87zfkvv32o.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 69997-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Hi, Pushed as a3ffb920f1 * master import: pypi: Move deduplication to final processing step. c904350a81 * import: pypi: Default to setuptools as build system input. d7890af335 * import: pypi: Add python-wheel to native inputs if setuptools is used. 8bb3bb19c2 * import: pypi: Support extracting dependencies from pyproject.toml. to master. -- Thanks, Oleg --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmdgf68ACgkQdtcnv/Ys 0rWg7xAAi7sxWqF8sx2PuHTi+UXXtT16PYmVYJr56D7IMGtmegq4wnet2qc7AMV4 qZhdIobOxVDhsD7YZ9W+1k7dmWnVNyhndwECQBijZvD8M058JgqV+M0/oEgpE/+r OaEuSypWpEvIMhIPphg/xdLGBAqfjxVamOvydWt46HhJNtUXfMjPUylJVisF6wLY 9RbzU9bcmBfQTQGN4L+t3XxM/W+Lp4tJZb1Oal9bkGIZ9gP5Cg+0rcZQCi6hSSNx z18US4oxQ9cta/rl75mak13QT961hhFpJnO0g6f5i36GW3Bq/Ems70iW5TvhxkbK WDdJ7SAdV8U52ybWdBqeA+ILrDI3/TyRKugdPXMnNG6cQS2EeHJ9R4sJiRa/1K7d xEomVzx+kLNIAd9NTfjA2dYok6AvW5Le5rHfIFlw8Wkl/+dkOgHeqtaCanS/Njdk y8OhfSdMlZ+e+p2DPIht4+3K/3oIEp7G6W1qZrMWcBnAad/sg/uLGpSHhWtKVtNs cb4+8nE8wTbzZba48msQrQuCAZkrYYZeEHA8ezTvWinuQRo2BhEYuBwKtbRMLEXN Dl263zKW/4jg6fwfGoFLQX34umACRVSaA1Gf1AMQE53V2gxiZ8PNLSmbna5hRD9D fJ2jJSYqcj/pUL1FOT+zMEmbj1UTCW7VQeXuU9a5L43hf0dngzw= =qSua -----END PGP SIGNATURE----- --=-=-=-- ------------=_1734377462-18534-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 25 Mar 2024 16:15:51 +0000 Received: from localhost ([127.0.0.1]:35874 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1romzH-00073m-2g for submit@debbugs.gnu.org; Mon, 25 Mar 2024 12:15:51 -0400 Received: from lists.gnu.org ([2001:470:142::17]:33816) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1romzE-00072v-Tg for submit@debbugs.gnu.org; Mon, 25 Mar 2024 12:15:50 -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 1roiAS-00043J-GE for bug-guix@gnu.org; Mon, 25 Mar 2024 07:07:04 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1roiAP-0004yS-UL for bug-guix@gnu.org; Mon, 25 Mar 2024 07:07:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=MlsJG22EjqsWwnPJoqxdluhvQUrY1kcRZOG7Vh2x4D0=; b=Ht7YCvCYC2iDyTBZwIfc0T+LwoN26UcQc0KDOyoZ4ebynBUS/jb9sEZO Q9iPIipzRu5uhPVwwzE4zY3N5BeCgdk9yX2NpFSqt7MBrtgbUzODhppqw H4iEmxKND6WOdsYCmFM1SiqGpjHN6C38bHErnDTea4B3e9R/jTPzQpbZr E=; Authentication-Results: mail3-relais-sop.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=ludovic.courtes@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.07,153,1708383600"; d="scan'208";a="83012992" Received: from unknown (HELO ribbon) ([89.207.171.77]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2024 12:06:54 +0100 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: bug-guix@gnu.org Subject: Should =?utf-8?Q?=E2=80=98guix?= import =?utf-8?Q?pypi=E2=80=99?= get dependencies from pyproject files? X-Debbugs-Cc: Lars-Dominik Braun , Marius Bakke , Munyoki Kilyungi , Sharlatan Hellseher , Tanguy Le Carrour , jgart X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Sextidi 6 Germinal an 232 de la =?utf-8?Q?R=C3=A9vol?= =?utf-8?Q?ution=2C?= jour de la Blette X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 25 Mar 2024 12:06:51 +0100 Message-ID: <877chqtvsk.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=192.134.164.104; envelope-from=ludovic.courtes@inria.fr; helo=mail3-relais-sop.national.inria.fr X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SBL_CSS=3.335, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: 3.6 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello Python team! Should ‘guix import pypi’ attempt to get dependency information from ‘pyproject.toml’, in addition to ‘requirements.txt’ and wheel ‘METADATA’ as it already does? It might be more complicated than we’d like: in some cases, that file seems to be used as a “trampoline” to Poetry. For instance, in python-pypugjs, the ‘requires’ bit delegates everything t [...] Content analysis details: (3.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [89.207.171.77 listed in zen.spamhaus.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 T_SPF_PERMERROR SPF: test of record failed (permerror) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.6 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello Python team! Should ‘guix import pypi’ attempt to get dependency information from ‘pyproject.toml’, in addition to ‘requirements.txt’ and wheel ‘METADATA’ as it already does? It might be more complicated than we’d like: in some cases, that file seems to be used as a “trampoline” to Poetry. For instance, in python-pypugjs, the ‘requires’ bit delegates everything t [...] Content analysis details: (2.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [89.207.171.77 listed in zen.spamhaus.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 T_SPF_PERMERROR SPF: test of record failed (permerror) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager Hello Python team! Should =E2=80=98guix import pypi=E2=80=99 attempt to get dependency informa= tion from =E2=80=98pyproject.toml=E2=80=99, in addition to =E2=80=98requirements.txt= =E2=80=99 and wheel =E2=80=98METADATA=E2=80=99 as it already does? It might be more complicated than we=E2=80=99d like: in some cases, that fi= le seems to be used as a =E2=80=9Ctrampoline=E2=80=9D to Poetry. For instance= , in python-pypugjs, the =E2=80=98requires=E2=80=99 bit delegates everything to = Poetry: --8<---------------cut here---------------start------------->8--- [tool.poetry] name =3D "pypugjs" version =3D "5.9.4" description =3D "" authors =3D ["Andy Grabow "] license =3D "MIT" [tool.poetry.dependencies] python =3D "^3.8" Jinja2 =3D "^3.1.1" Mako =3D "^1.1.3" tornado =3D "^6.0.4" six =3D "^1.15.0" coverage =3D "^6.3.2" nose =3D "^1.3.7" Flask =3D "^2.1.1" charset-normalizer =3D "^2.1.0" flake8 =3D "^4.0.1" [tool.poetry.dev-dependencies] [build-system] requires =3D ["poetry-core>=3D1.0.0"] build-backend =3D "poetry.core.masonry.api" --8<---------------cut here---------------end--------------->8--- Thoughts? Ludo=E2=80=99. ------------=_1734377462-18534-1--