Path: csiph.com!fu-berlin.de!bofh.it!news.nic.it!robomod From: Jeremy Stanley Newsgroups: linux.debian.maint.python Subject: Re: How should upstream document/communicate none-Python dependencies? Date: Thu, 02 Feb 2023 15:20:01 +0100 Message-ID: References: X-Mailbox-Line: From debian-python-request@lists.debian.org Thu Feb 2 14:10:56 2023 Old-Return-Path: X-Amavis-Spam-Status: No, score=-7 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, LDO_WHITELIST=-5] autolearn=ham autolearn_force=no X-Policyd-Weight: using cached result; rate:hard: -4.6 X-Greylist: delayed 1421 seconds by postgrey-1.36 at bendel; Thu, 02 Feb 2023 14:10:37 UTC MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: NeoMutt/20170113 (1.7.2) X-Sa-Exim-Connect-IP: 2001:4802:7801:102:be76:4eff:fe20:63e0 X-Sa-Exim-Rcpt-To: debian-python@lists.debian.org X-Sa-Exim-Mail-From: fungi@yuggoth.org X-Sa-Exim-Scanned: No (on azathoth.yuggoth.org); SAEximRunCond expanded to false X-Mailing-List: archive/latest/20762 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/20230202134650.d2e4qu3jneci5h2q@yuggoth.org Approved: robomod@news.nic.it Lines: 14 Organization: linux.* mail to news gateway Sender: robomod@news.nic.it X-Original-Date: Thu, 2 Feb 2023 13:46:50 +0000 X-Original-Message-ID: <20230202134650.d2e4qu3jneci5h2q@yuggoth.org> X-Original-References: Xref: csiph.com linux.debian.maint.python:14877 In the OpenStack ecosystem we mostly solved this around 8 years ago with https://pypi.org/project/bindep which is effectively a manifest of distribution package names and a grammar for indicating differences in package naming or requirements between different distributions and versions thereof. It's used quite heavily by hundreds of projects in our ecosystem, and has been picked up by a lot of projects outside OpenStack as well. Where it mostly shines is when you want to provide some means of confirming you have the correct packages in your development system to be able to install/run a project and its tests, but we also rely on it heavily in automated CI jobs to determine what non-Python packages should be installed for tests to execute correctly. -- Jeremy Stanley