guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#49834] Add dynaconf


From: paul
Subject: [bug#49834] Add dynaconf
Date: Mon, 30 Aug 2021 00:52:45 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Icedove/78.12.0

Dear Sarah,

On 8/29/21 12:46 AM, Sarah Morgensen wrote:
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.
No I did not :( . Also I'm sorry about the confusion with the multiple bug reports, I forgot to send the patches directly to the ticket address.
* 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).
I wasn't sure about this because right now those exact versions are only needed by dynaconf. Anyway I divided them in 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.
Thank you I didn't know it, fixed!

+    (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 :)
I definitely agree, I'll 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!

I updated the description with the feature set provided on the main website, it should be a little more clear now .


I'm sending an updated patchset, thank you for your time :)


Giacomo







reply via email to

[Prev in Thread] Current Thread [Next in Thread]