From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id ABw1J7RTql8xTQAA0tVLHw (envelope-from ) for ; Tue, 10 Nov 2020 08:47:48 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id KPsEI7RTql/FLwAAbx9fmQ (envelope-from ) for ; Tue, 10 Nov 2020 08:47:48 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 572359403A7 for ; Tue, 10 Nov 2020 08:47:48 +0000 (UTC) Received: from localhost ([::1]:58358 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kcPJb-0001bY-6J for larch@yhetil.org; Tue, 10 Nov 2020 03:47:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41790) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kcPJK-0001aA-2K for guix-devel@gnu.org; Tue, 10 Nov 2020 03:47:30 -0500 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:42665) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kcPJH-00044B-6I for guix-devel@gnu.org; Tue, 10 Nov 2020 03:47:29 -0500 X-Originating-IP: 176.185.184.238 Received: from localhost (static-176-185-184-238.ftth.abo.bbox.fr [176.185.184.238]) (Authenticated sender: tanguy@bioneland.org) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 820551C001A; Tue, 10 Nov 2020 08:47:23 +0000 (UTC) Date: Tue, 10 Nov 2020 09:47:22 +0100 From: Tanguy Le Carrour To: Hartmut Goebel Subject: Re: Questions regarding Python packaging Message-ID: <20201110084722.sl7bf46vf6vnx6hg@melmoth> References: <20201108142717.lmud5h4gh44vtjc6@melmoth> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Received-SPF: none client-ip=217.70.183.197; envelope-from=tanguy@bioneland.org; helo=relay5-d.mail.gandi.net X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/10 03:47:24 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -0.51 X-TUID: rwGGWCbIRMDD Hi Hartmut, Le 11/09, Hartmut Goebel a écrit : > seems like another messages of mine, regarding the first thread  about a > poetry build system, did not make it to the list. > > Am 08.11.20 um 15:27 schrieb Tanguy Le Carrour: > > I've just learned, by accident (working on `python-keyring` [1]), that > > `python setup.py install` was somehow deprecated > > This statement is not exactly true - well, depending on interpretation of > "somehow". I've not set seen an official deprecation. Neither did I! But things are changing (fast) and it seems that I'm always the last one to know! ^_^' > It's true that users are encouraged to use pip for installing packages. But > the official Python Packaging Tutorial [1] is still based on setuptools (not > even recommending a setup.cfg file). Thus setuptools will be around for > quite some more time, as will "python setup.py install". > > [1] https://packaging.python.org/tutorials/packaging-projects/ > > In the future Python world, any build-tool can be specified in > "pyproject.toml". User will then call "pip install", and pip will (AFAIU) > call a Python function (aka entry-point) specified in that file. (If this > file does not exist, setuptools are assumed). For our python-build-system, > we would use "pip wheel" (for phase build) and "pip install" (for phase > install). > > So, if we switch to "pip wheel" and "pip install", different python build > systems could share a common base, just redefining some dependencies > (setuptools, poetry, build, ...) and some tool-dependent flags. Is this the > direction you are working towards? I cannot say that, at the moment, I'm working in any particular direction! … I'm just trying to make "it" work and learn a bit about Guix packaging and Python along the way. Actually, I'm not even yet sure that Poetry needs a dedicated build system, as it also relies on a build-backend (defined in `pyproject.toml`) which just happened to be `poetry.core.masonry`, but could be another one… I guess, I'm not sure yet. So, definitively a WIP! > > in favor of tools like`pep517` or `build`. > > Thanks for point to these, both are new to me. > > "build" sounds interesting, esp. for guix: "It is a simple build tool and > does not perform any dependency management." This would help us spliting > dependency management and build phase. Anyhow, it's quite new (half an year > old) and implements a PEP 517 package builder - and PEP 517 (defining the > build system in pyproject.toml) is not yet adopted widely. > > "pep517" seems o be a library used for "build". Its high-level interface has > been deprecated in favor for "build". > > I as just about to write "So, while this might be one road to go, this is > not of much use for us yet.". Anyhow, this might be a good base for pep517 > based packages. On the other hand: Maybe we'd better stick with "pip wheel" > and "pip install", see above. +1! I'll try to make those packages who need a special build system (which might be the case for `keyring`) work and see for a more general "new" `python-build-system` later! And if I happen to learn something on the way… great! :-) Regards -- Tanguy