|
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:
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.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.
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/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.
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
[Prev in Thread] | Current Thread | [Next in Thread] |