From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 4DO/Iuu8KmHrzQAAgWs5BA (envelope-from ) for ; Sun, 29 Aug 2021 00:47:07 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id 4DdXHuu8KmEdKAAAB5/wlQ (envelope-from ) for ; Sat, 28 Aug 2021 22:47:07 +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 E1D5E1E5EE for ; Sun, 29 Aug 2021 00:47:06 +0200 (CEST) Received: from localhost ([::1]:46542 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mK76P-0001xa-Rs for larch@yhetil.org; Sat, 28 Aug 2021 18:47:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57918) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mK76M-0001xS-RE for guix-patches@gnu.org; Sat, 28 Aug 2021 18:47:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:43606) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mK76M-0000Rr-JR for guix-patches@gnu.org; Sat, 28 Aug 2021 18:47:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mK76M-0002vP-H8 for guix-patches@gnu.org; Sat, 28 Aug 2021 18:47:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#49834] Add dynaconf References: <20210802181359.10695-1-goodoldpaul@autistici.org> Resent-From: Sarah Morgensen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 28 Aug 2021 22:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49834 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Giacomo Leidi Cc: 49834@debbugs.gnu.org Received: via spool by 49834-submit@debbugs.gnu.org id=B49834.163019078811196 (code B ref 49834); Sat, 28 Aug 2021 22:47:02 +0000 Received: (at 49834) by debbugs.gnu.org; 28 Aug 2021 22:46:28 +0000 Received: from localhost ([127.0.0.1]:55152 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mK75n-0002uV-Ph for submit@debbugs.gnu.org; Sat, 28 Aug 2021 18:46:28 -0400 Received: from out1.migadu.com ([91.121.223.63]:36181) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mK75f-0002uG-DK for 49834@debbugs.gnu.org; Sat, 28 Aug 2021 18:46:25 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mgsn.dev; s=key1; t=1630190777; 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: in-reply-to:in-reply-to; bh=zAOqYFvlK4Z4427FAqL84eIlV8jSbraId75Xvotbzdk=; b=K3bGTcEYENZFKjTQUZZ3Wm/vmwT52nau22FdXZCbxSKhys15OhSwosdoVMyBD3j3KUCK4b 6DeeZ0Wp0fmvA0ceZN2tFno52drMBQulN1f1O14JIVxxriA9BeiDtb4DgELoo4WZXJq/Nv JGDTSNP3D5YRB0+DB8gwAkPQWiiKiuo= From: Sarah Morgensen Date: Sat, 28 Aug 2021 15:46:14 -0700 In-Reply-To: paul's message of "Sat, 28 Aug 2021 13:50:58 +0200 (10 hours, 44 minutes, 1 second ago)" Message-ID: <86a6l12nnt.fsf@mgsn.dev> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Auth-User: iskarian@mgsn.dev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1630190827; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=zAOqYFvlK4Z4427FAqL84eIlV8jSbraId75Xvotbzdk=; b=uk4irNS4BDdGoBzFjaaRxMZZZHPPoza3MtDGvWO7uLvz9UTBMFiEZzDAXRuQe2NshzDzeu nZ/orbye73x5hpOHfiToJ+M2g7kVYyotQTa5e31oXB2dYaVo6qZUOs8rho4i5gzfux19KK 31OBFYd9IvvzkyUxwqPv1GiEVTKqqjveKjSyc1fTyqkH9MXK66jvLtXv6yU6ReCI18H60Y pk1RtXqrr9VfcVa9zTnkmVfbPChrRgQIsvvryulkrAIMHPTR4wgZhXJJ1Ue8YmQoVWmNQa TgsKIFbCjOcCQWKn6BH3FsvVjOCTjN29kFBKyF3kTGjBURU32bpkItxSi9xqYA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1630190827; a=rsa-sha256; cv=none; b=X9Zs6FM5I8UUeS4jWb4SlSNqn67fn6c2hD6p80WvTmVKPc8pu1UP7WueSXbbN/bKAUibGc pBhlB6/eQx4Xoec3svu/Ifec1wYJdl2FW/9mxnMJjav7D7egnNAoWt7QvKOlwn3fcqoGJQ vR/o7QUXigWmL2wxl+AwMW8IT0xIPK54ZK2D7m7I22uk4smZIfwZ3zFQZFmXCFpwWLufPc CCcC8uEl+T9zJtfTPWplDbKJuqAtgIk4QRHBX9aTOqpcY8ETQasKvRt8KIeSZ2t+FiY+Rk uf4S4yea/q9hVNZ8iofyPAQDSwUUkq+HaIZzl5zNLN3bNKayM4mQ8g+YMkWk9w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=mgsn.dev header.s=key1 header.b=K3bGTcEY; dmarc=fail reason="SPF not aligned (relaxed)" header.from=mgsn.dev (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -1.33 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=mgsn.dev header.s=key1 header.b=K3bGTcEY; dmarc=fail reason="SPF not aligned (relaxed)" header.from=mgsn.dev (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: E1D5E1E5EE X-Spam-Score: -1.33 X-Migadu-Scanner: scn0.migadu.com X-TUID: GUyW5zqWXt6e Hi Giacomo, Giacomo Leidi writes: > Dear Sarah, > > thank you for your review! Thank you for your continued work on this. I know it can be a long and sometimes discouraging process, and we often end up with abandoned patches because of it. > > On 8/4/21 8:26 PM, Sarah Morgensen wrote: >> The pyproject.toml file does say this is "MIT" (= expat), but there's no >> actual license file in the project. I don't think this is sufficient as >> far as Guix is concerned (perhaps an actual maintainer/committer can >> comment?) > > First of all I opened an upstream PR [0] to add an actual LICENSE file: I hope > that, given its simplicity, it will get merged soon. Fingers crossed! > > I'm no expert about this but I tried building dynaconf without flake8-debugger > and it seems to work flawlessly. The dependency was put there by the python > importer, probably the developers have it in some dev-dependencies declaration > needed to commit well-formatted code in the repository. > > Since flake8-debugger doesn't appear to be required for the inclusion of > dynaconf maybe we can exclude it for this time and whenever the PR will > be merged I'll open another Guix issue to add it. > > What do you think about this approach? (I'm attaching an updated patch-set > without flake8-debugger and rebased on current master). Did you receive my other email? I found that in fact none of the flake8 packages, as well as some others, are actually required. I apologise if merging these bugs caused it to get lost! I'll quote it below. Sarah Morgensen writes: > Hi, > > Thanks again for your work on packaging this! > > Giacomo Leidi writes: > >> * gnu/packages/python-xyz.scm (python-colorama-0.4.1): New variable, >> (python-dotenv-0.13.0): New variable, >> (dynaconf): New variable. > > Packages typically get one commit per package (so this would be three > commits). > >> * gnu/packages/patches/dynaconf-Unvendor-dependencies.patch: New file. > ^ an extra space slipped in here. > >> [...] >> + (arguments >> + `(#:phases >> + (modify-phases %standard-phases >> + (replace 'check >> + (lambda* (#:key tests? outputs #:allow-other-keys) >> + (when tests? >> + (setenv "PATH" >> + (string-append (assoc-ref outputs "out") "/bin:" >> + (getenv "PATH"))) >> + ;; These tests depend on hvac and a >> + ;; live Vault process. >> + (delete-file "tests/test_vault.py") >> + (invoke "make" "test_only")) >> + #t))))) > ^ Nitpick: phases no longer have to end in #t, though it > doesn't hurt. > >> + (propagated-inputs >> + `(("python-click" ,python-click) >> + ("python-dotenv" ,python-dotenv-0.13.0) >> + ("python-ruamel.yaml" ,python-ruamel.yaml) >> + ("python-toml" ,python-toml))) >> + (native-inputs >> + `(("make" ,gnu-make) >> + ("python-codecov" ,python-codecov) >> + ("python-configobj" ,python-configobj) >> + ("python-colorama" ,python-colorama-0.4.1) >> + ("python-django" ,python-django) >> + ("python-flake8" ,python-flake8) >> + ("python-flake8-debugger" ,python-flake8-debugger) >> + ("python-flake8-print" ,python-flake8-print) >> + ("python-flake8-todo" ,python-flake8-todo) >> + ("python-flask" ,python-flask) >> + ("python-future" ,python-future) >> + ("python-pep8-naming" ,python-pep8-naming) >> + ("python-pytest" ,python-pytest-6) >> + ("python-pytest-cov" ,python-pytest-cov) >> + ("python-pytest-forked" ,python-pytest-forked) >> + ("python-pytest-mock" ,python-pytest-mock) >> + ("python-pytest-xdist" ,python-pytest-xdist) >> + ("python-radon" ,python-radon))) > > With the test_only target, I think only a few of these are actually > required. Also, configobj should probably be a propagated input as > dynaconf uses it for ini files. I've attached a patch below. > > Notably, this seems to make python-flake8-debugger, python-flake8-todo, > python-pep8-naming and python-colorama-0.4.1 unneccessary (I think > because they are used for code linting, and the test_only target doesn't > do linting). WDYT? > > (Even if they aren't necessary for packaging dynaconf, you're still > welcome to send them as separate patches :) > >> + (home-page >> + "https://github.com/rochacbruno/dynaconf") > ^ Nitpick: this can go on one line > >> + (synopsis >> + "The dynamic configurator for your Python Project") > ^ Likewise > >> + (description >> + "This package provides @code{dynaconf} the dynamic configurator for >> +your Python Project.") > > Even as someone who has used python a lot before, this doesn't tell me > anything about what dynaconf actually does or why I might want to > install it. (Or, is it even an end-user package?) For examples, take a > look at pretty much any package which has more than two lines in its > description (like, say, python-seaborn). I know writing a good > description can be difficult, but they tend to stick around and read by > lots of people, so getting it right the first time is important! > > > > diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm > index f4f3b7fb3f..58defd9fcc 100644 > --- a/gnu/packages/python-xyz.scm > +++ b/gnu/packages/python-xyz.scm > @@ -26380,28 +26380,16 @@ It implements advanced Python dictionaries with dot notation access.") > #t))))) > (propagated-inputs > `(("python-click" ,python-click) > + ("python-configobj" ,python-configobj) > ("python-dotenv" ,python-dotenv-0.13.0) > ("python-ruamel.yaml" ,python-ruamel.yaml) > ("python-toml" ,python-toml))) > (native-inputs > - `(("make" ,gnu-make) > - ("python-codecov" ,python-codecov) > - ("python-configobj" ,python-configobj) > - ("python-colorama" ,python-colorama-0.4.1) > - ("python-django" ,python-django) > - ("python-flake8" ,python-flake8) > - ("python-flake8-debugger" ,python-flake8-debugger) > - ("python-flake8-print" ,python-flake8-print) > - ("python-flake8-todo" ,python-flake8-todo) > + `(("python-django" ,python-django) > ("python-flask" ,python-flask) > - ("python-future" ,python-future) > - ("python-pep8-naming" ,python-pep8-naming) > ("python-pytest" ,python-pytest-6) > ("python-pytest-cov" ,python-pytest-cov) > - ("python-pytest-forked" ,python-pytest-forked) > - ("python-pytest-mock" ,python-pytest-mock) > - ("python-pytest-xdist" ,python-pytest-xdist) > - ("python-radon" ,python-radon))) > + ("python-pytest-mock" ,python-pytest-mock))) > (home-page > "https://github.com/rochacbruno/dynaconf") > (synopsis > > > -- > Sarah